IBX-11100: Hybrid tracking described in Dev-doc#3250
Conversation
Preview of modified filesPreview of modified Markdown: |
mnocon
left a comment
There was a problem hiding this comment.
Hybrid tracking must be mentioned in other places, it's not enough to describe it just in a separate article - right now it feels disconnected from other parts of the doc.
Examples:
tracking_type: hybrid must be mentioned, in the YAML and in the list
hybrid_tracking_proxy_path should be mentioned in the global configuration reference?
The function output must be expanded to mention the hybrid type
code_samples/ change report
|
mnocon
left a comment
There was a problem hiding this comment.
- Hybrid tracking should be added to the cards in https://ez-systems-developer-documentation--3250.com.readthedocs.build/en/3250/recommendations/raptor_integration/raptor_connector/
- Let's mention hybrid tracking in https://ez-systems-developer-documentation--3250.com.readthedocs.build/en/3250/recommendations/raptor_integration/raptor_connector_guide/ as well (https://ez-systems-developer-documentation--3250.com.readthedocs.build/en/3250/recommendations/raptor_integration/raptor_connector_guide/#availability mentions the two already existing types)
| ibexa_connector_raptor: | ||
| # When enabled, tracking exceptions are thrown instead of being silently handled | ||
| strict_exceptions: true | ||
| hybrid_tracking_proxy_path: '/track' |
There was a problem hiding this comment.
| hybrid_tracking_proxy_path: '/track' | |
| hybrid_tracking_proxy_path: '/raptor/track' |
I don't think a lot of people will customize this, let's just use the default value here
|
|
||
| - `strict_exceptions` – when enabled, tracking exceptions are thrown instead of being silently handled. Default value: `%kernel.debug%`. | ||
|
|
||
| - `hybrid_tracking_proxy_path` - by default, it's set to `/raptor/track`, the client side shim sends tracking events to this same-origin endpoint, which forwards them to Raptor asynchronously. |
There was a problem hiding this comment.
| - `hybrid_tracking_proxy_path` - by default, it's set to `/raptor/track`, the client side shim sends tracking events to this same-origin endpoint, which forwards them to Raptor asynchronously. | |
| - `hybrid_tracking_proxy_path` - by default, it's set to `/raptor/track`. The client side shim sends tracking events to this same-origin endpoint, which forwards them to Raptor asynchronously. |
| - `tracking_type` - defines how user events are sent to the tracking API. Default value: `client`. Possible values: | ||
| - `client` - tracking is executed in the browser using JavaScript snippets generated by the [Twig functions](recommendations_twig_functions.md) and included in the templates. This approach may be blocked by ad blockers. | ||
| - `server` - tracking is handled on the backend, with events sent directly to the tracking API. It's not affected by ad blockers. | ||
| - `hybrid` - loads a local, first-party tracking JavaScript provided by the DXP instance, instead of the Raptor SaaS JavaScript. |
There was a problem hiding this comment.
| - `hybrid` - loads a local, first-party tracking JavaScript provided by the DXP instance, instead of the Raptor SaaS JavaScript. | |
| - `hybrid` - loads a local, first-party tracking JavaScript provided by the DXP instance, instead of the Raptor SaaS JavaScript. For more information, see [Hybrid tracking](hybrid_tracking.md). |
|
|
||
| ## Hybrid tracking flow | ||
|
|
||
| When hybrid tracking is enabled, `TrackingScriptExtension` renders the proxy bootstrap template and loads the `raptor-proxy.js` shim, which replaces the `window.raptor.push` function and drains the initial event queue. |
There was a problem hiding this comment.
Ok, so let's make it clearer:
| When hybrid tracking is enabled, `TrackingScriptExtension` renders the proxy bootstrap template and loads the `raptor-proxy.js` shim, which replaces the `window.raptor.push` function and drains the initial event queue. | |
| When hybrid tracking is enabled, `TrackingScriptExtension` renders the proxy bootstrap template and loads the `raptor-proxy.js` shim, which replaces the `window.raptor.push` function and sends out the events queued before the tracking consent was given. |


Hybrid tracking described in Dev-doc
Checklist