Seeking Guidance – Persistent Component-Level ID for Adobe Analytics in EDS/Universal Editor
I’m looking for some guidance on a requirement we are currently working on in an Adobe Edge Delivery Services (EDS) / Universal Editor (Franklin) implementation.
Requirement
We need to assign a unique and persistent identifier to every component instance on a page and use that identifier as a tracking attribute for Adobe Analytics.
Example:
- Multiple instances of the same component can exist on a page.
- The identifier should remain unchanged even if the author reorders, moves, or updates the component.
- The identifier should ideally persist for the lifetime of that specific component instance.
What We Have Explored
We have evaluated multiple options, including:
-
Generating UUIDs/random IDs in block JavaScript during rendering.
- Drawback: IDs are regenerated on page refresh and are not persistent.
-
Generating IDs based on page structure, component sequence, or position.
- Drawback: IDs change when authors reorder or move components.
-
Adding a hidden component-id field to the component model and attempting to populate it using Universal Editor events/extensions.
- Challenge: We have not yet identified a reliable/supported mechanism in our current setup to automatically generate and persist the value back to the authored content for every new component instance.
Request
Has anyone in the community previously implemented:
- Persistent component-level IDs in EDS/Franklin/Universal Editor?
- Adobe Analytics tracking that requires a stable identifier per component instance?
- Any Universal Editor extension/plugin approach that can generate and persist metadata during component creation?
If there are any reference implementations, sample code, past project experiences, or Adobe Analytics best practices that could help, I would greatly appreciate it.
Thanks in advance for your support.
Joseph