Skip to content

Enrichment plugins bypassed for single event — properties and context arrive in raw format #420

@toonwwk

Description

@toonwwk

Background

We have two custom .enrichment plugins added to the Analytics timeline:

  • ContextPlugin (conforms to Plugin) — modifies event context (adds device_id, OS name)
  • PropertyPlugin (conforms to EventPlugin) — reorganizes flat properties into categorized structure

Both plugins are added immediately after Analytics initialization.

In production, we observed a single event arriving at our server with raw (untransformed) properties and context, while events tracked before and after that event from the same user were correctly enriched.

This is not data loss (the event was delivered) and not corrupted JSON — it is a valid event payload, but the enrichment plugins appear to have been completely bypassed for that one event.

Expected Tracking

Raw input to Analytics:

{
  "properties": {
    "key_1": "value",
    "key_2": "value"
  }
}

Expected after enrichment:

{
  "properties": {
    "custom_category_1": {
      "key_1": "value"
    },
    "custom_category_2": {
      "key_2": "value"
    }
  }
}

What we actually got is the raw input instead of the enriched one.

Platform

  • Library version: 1.5.11
  • Platform: iOS (iPadOS 17.7.10 in the observed case)
  • Device: iPad 7th gen
  • Custom API host: Yes (custom apiHost and cdnHost)
  • Integrations: None (custom destination)

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions