Tracking Engagement with Campaigns

For the request structure and examples, see the API Reference: Track Engagement

Engagement is a measurement of user interaction with your experience variations, typically by clicking items on the page, though you can also measure impressions. These metrics enable you to analyze the success of your campaigns, and improve performance.

You can set CLICK engagement (click-through rate, or CTR) as a primary metric in your testing. If you do, make sure to report engagement for the control variation as well, so that the data is included in the relevant reports.

Types of engagement

  • CLICK: Reports when users click a displayed variation of a custom API campaign or the widget of a recommendation campaign. For example, the arrows or pagination of the widget. To report the click, pass the unique decisionId value, from the Choose call response. When you report engagement for multi-variation campaigns, pass the variation ID of the clicked variation, from the Choose call response.
    You can also report CLICK engagements for control variations of recommendation campaigns, using decisionId. 
  • IMP: Reports variation impressions. Pass the same parameters as are required for CLICK engagement. Important note: Choose calls report variation impressions by default. Report impression engagement explicitly only if you set the implicit impression to false in the Choose call (isImplicitImpressionMode = false). See the API reference for Choose calls (under "options").
  • SLOT_CLICK: In Recommendations campaigns, reports exactly which product was clicked within a recommendations widget. This enables in-depth analytics for recommendations beyond the campaign level, reaching even the granularity of specific categories, products, strategies, and more. Pass the unique slotId for each product, from the Choose call response.
  • PN_CLICK: For Reconnect push notification campaigns only. Reports clicks on the notification. Must include trackingData object, which you must extract from the messaging provider. The object is always unique to the notification, and looks like this:
    "type": "PN_CLICK",
    "trackingData": {
        "rri": "987001424",
        "sectionID": "9878785",
        "reqTs": "1652622484055",
        "userID": "4656722918296846673",
        "version": "2",
        "events": [{
            "ver": "101482916",
            "expVisitId": "4032971100745578591",
            "smech": "",
            "vars": "[101098971]",
            "exp": "1296028",
            "mech": "1"