External tracking IDs are values added to third-party URLs so tools like Movable Ink or analytics platforms can identify which customer and which campaign generated the render, open, or click.
In Bloomreach, Jinja is the {{ ... }} code placed directly into the URL. Bloomreach then fills that placeholder with the actual value from the customer profile or campaign context.
IDs vs attributes
For customer identifiers, prefer customer_ids.* when the value is a real external/customer ID configured in Bloomreach. This is usually the better source of truth for external tracking, because external IDs are meant to map the customer to outside systems. Use customer.* only if the value is stored as a normal profile attribute instead.
How to use them
customer_ids.*= customer ID / soft IDcustomer.*= regular customer attributescenario['id']= scenario or email campaign IDaction['name']= action node name, or email campaign name
If the same identifier may exist both as a customer ID and as a profile attribute, use a fallback:
{{ customer_ids.email_id if customer_ids.email_id else customer.email }}To add it to a URL, place the Jinja expression directly into the parameter value. Example:
https://example.com/track?mi_u={{ customer_ids.contact_id if customer_ids.contact_id else customer.contact_id }}&mi_ecmp={{ scenario['id'] }}&mi_name={{ action['name'] }}In the above example:
mi_usends the customer identifier.mi_ecmpsends the campaign/scenario ID.mi_namecan send the campaign or action name.