Overview
The same tag that collects website events also injects personalised content in the browser. Content is placed through on-site integrations: a CSS selector, an emplacement and trigger conditions, all configured from the Browser Extension and stored on the Workflow — no markup or deploy on your side. Installation, thewindow.reel API and identity resolution are covered in Website Collection — there is nothing extra to install for personalisation.
Server-rendered personalisation is usually the better default: the Server Side SDK returns content in the initial HTML, with no layout shift and no dependency on the visitor’s network.
On-site integrations
Integrations are resolved when the tracker is served, not at runtime: the script service lists every Workflow that has aweb entrypoint integration for the company and embeds them, base64-encoded, into the rlvt file. The file is then cached for 60 seconds instead of the default 300, so extension changes propagate quickly.
Each integration is attached on tracker boot, on load, and on every window.reel.loadZones() call — call loadZones() after client-side navigation in an SPA.
The Runner is called with the identity returned by
window.reel.getClientId(), falling back to rlvt_tmpId:
text/html responses are injected into a shadow root attached to the target element, with the .rlvt-body font size scaled to the container width so the Content stays responsive. image/png and image/gif responses are injected as an <img> wrapped in an <a> pointing at the same URL with mode=click, which is what records the click.
Reacting to injections
The tracker also re-attaches integrations on the
abtasty_executedCampaign event when AB Tasty is present, so integrations survive campaigns that rewrite the DOM.
Debugging
Related
- Website Collection — installing the tag,
window.reel, identity - Server Side SDK — personalisation rendered server-side
- Reelevant as API (JSON) — headless personalisation
- Browser Extension content script — configuring integrations