AppsFlyer - Web to app

Learn how to integrate AppsFlyer with Taboola for web-to-app conversion tracking using server-to-server postbacks. This guide covers setting up the Taboola partner integration, configuring attribution links, and tracking both install and in-app events.

📘

This flow is a bit more complex than Direct to App.
For more information, see: S2S Conversion Tracking With AppsFlyer.

🚧

Your version of AppsFlyer might differ from the one described here.
For AppsFlyer support, visit the AppsFlyer Help Center.

Integrate AppsFlyer with Taboola

Configure the Taboola Partner Integration

  1. Log into your AppsFlyer dashboard.

  2. Under My Apps, start typing the relevant App ID and click on the thumbnail to open the App.

  3. Under Collaborate (bottom, left), select Active integration.

  4. Start typing "Taboola" and click on the thumbnail to open the Taboola Partner.

  5. Under Taboola Integration, toggle Activate Partner to ON.

  6. Under In-app event settings:

    • Leave the Taboola Ecomm Campaign ID field blank.
    • Fill in your Taboola Advertiser ID.

      To track account-level conversions, fill in the relevant Account ID.
      To track network-level conversions, fill in the Network ID.

  7. Click Save Integration (bottom, right).

  8. Switch to the Attribution Link tab.

  9. Under Choose your attribution link type, choose Use single platform link or Use OneLink, depending on your use case.

    For more detail, refer to the AppsFlyer documentation.

  10. Under Attribution link parameters, map each AppsFlyer Parameter name to its corresponding value (Taboola param).

    For more detail about AppsFlyer params, refer to the AppsFlyer documentation:
    For more detail about Taboola params, see: Creating and Adding URL Parameters for Tracking

  11. Skip the Retargeting settings section.

  12. Under Click-through attribution, set the Click-through lookback window to the desired duration - e.g. 30 days (Taboola default).

  13. Under View-through attribution, set the View-through lookback window to the desired duration - e.g. 24 hours (Taboola default).

  14. Click Save Integration (bottom, right).

📘

Best Practice

Configure AppsFlyer and Taboola with the same lookback window.

If AppsFlyer has a shorter lookback window, then any conversions outside that window will not be passed to Taboola for attribution.

The Taboola lookback window will be configured below under Set up corresponding events in Taboola. By default, the Taboola lookback window is 30 days.

📘

Useful links

(Optional) Track in-app events

📘

In-App Event Tracking

In-App Event Tracking allows for more granular campaign optimization.

  1. If you followed the previous section, you already have the necessary screen open. Else:
    1. Log into your AppsFlyer dashboard.
    2. Select the relevant App.
    3. Select Collaborate > Active Integration and click on Manage integration in the Taboola card.
  2. Toggle In-app event postbacks to ON to track in-app conversions.
  3. Define the desired duration for the postback window (e.g. 30 days).
  4. Click on Add Event and configure the event details:
    1. Select the relevant AppsFlyer event and map it to the corresponding partner event (Taboola event).

      Refer to the Tracking section in Realize for the exact event name.

    2. Under for user from, select the appropriate option:
      1. This Partner Only - for exclusive Taboola events
      2. All Media Sources Including Organic - to include all sources
    3. Under including, select the appropriate option:
      1. No Values & No Revenue - for non-revenue events
      2. Values & Revenue - for transactions like purchases
      3. Values & No Revenue - for specific non-revenue-related values.
  5. Click Save Integration (bottom, right).

📘

Best Practice

Configure AppsFlyer and Taboola with the same lookback window.

If AppsFlyer has a shorter lookback window, then any conversions outside that window will not be passed to Taboola for attribution.

The Taboola lookback window will be configured below under Set up corresponding events in Taboola. By default, the Taboola lookback window is 30 days.

📘

Useful links

Set up 2 links

Edit the campaign creative/ad

Link the Campaign Creative/Ad directly to your Landing Page:

  1. Log into Realize.

  2. Add or edit your Campaign Creative/Ad. Fill in the Landing Page as the URL and save.

    Sample URL:
    https://www.example.com/taboola_landing_page

🚧

Use the Landing Page as the URL - not the link obtained from AppsFlyer. Add the Landing Page at the creative/ad level (not the campaign level).

Add URL parameters at the campaign level

  1. Add or edit the relevant campaign.

  2. Extract the URL parameter from AppsFlyer Click Tracker:

    Sample link:
    https://app.appsflyer.com/com.appsflyer.adNetworkTest?pid=taboola_int&af_siteid={site_id}&c={campaign_name}&af_ad_id={campaign_item_id}&af_click_lookback=7d&clickid={click_id}

    🚧

    Add the part shown in red under Campaign Settings > Tracking > Tracking Code:

    📘

    For additional information about adding passback macros at the campaign level, see: Creating and Adding URL Parameters for Tracking.

Create links for your Landing Page CTAs

  • Configure OneLink Smart Script on your Landing Page
    1. Create a OneLink Smart Script by following the guide in the AppsFlyer Help Center.
    2. Use the example below to integrate Taboola URL parameters with a OneLink script.
    3. The generated OneLink URL will be used for the Landing Page CTA.
📘

OneLink - An example

Sample AppsFlyer link:
https://app.appsflyer.com/com.appsflyer.adNetworkTest?pid=taboola_int&af_siteid={site_id}&c={campaign_name}&af_ad_id={campaign_item_id}&af_click_lookback=7d&clickid={click_id}

// Initializing Smart Script arguments
var oneLinkURL = "https://yourappname.onelink.me/XyZK/";
var mediaSource = {keys: ["utm_source", "pid"]};
var campaign = {keys: ["c"]};
var adSet = {keys: ["af_ad_id"]};
var af_siteid = {paramKey: "af_siteid", keys: ["af_siteid"]};
var af_click_lookback = {paramKey: "af_click_lookback", keys: ["af_click_lookback"]};
var clickid = {paramKey: "clickid", keys: ["clickid"]};

// OneLink URL is generated.
var result = window.AF_SMART_SCRIPT.generateOneLinkURL({
  oneLinkURL: oneLinkURL,
  afParameters: {
    mediaSource: mediaSource,
    campaign: campaign,
    adSet: adSet,
    afCustom: [af_click_lookback, af_siteid, clickid]
  }
});

var result_url = "No output from script";
if (result) {
  result_url = result.clickURL;
  document.getElementById('andrd_link').setAttribute('href', result_url);
  document.getElementById('ios_link').setAttribute('href', result_url);
}
document.getElementById('output_url').innerHTML = result_url;

OneLink URL:
https://yourappname.onelink.me/XyZK/?af_js_web=true&af_ss_ver=2_2_0&pid=taboola_int&c={campaign_name}&af_adset={campaign_item_id}&af_click_lookback=7d&af_siteid={site_id}&clickid={click_id}

🚧

The PID portion (in orange) tells AppsFlyer to attribute the conversion to Taboola.

🚧

The Click ID param (in red) should look exactly as shown.

📘

Useful links

Set up corresponding events in Taboola

You'll need to set up Realize with the same events as AppsFlyer. This way, when AppsFlyer notifies Taboola of a conversion, Taboola can record the event and reflect it in reporting.

Create the app install event in Taboola

  1. Open Realize, and select the account (top, left) that you will use to track conversions.

    🚧

    Make sure to select the Taboola account that matches the Account ID or Network ID you filled in under the AppsFlyer setup.

  2. In the sidebar (left), select Tracking.

  3. Click on + New Conversion (far right).

    Select Create conversions using code and click Continue.

  4. Type in a Conversion Name of your choice - e.g. App Install.

    This is a descriptive name for your convenience.

  5. For Conversion Type, select EVENT:

  6. (Optional) Fill in a Fixed Value.

    For additional guidelines, see the Help Center.

  7. Under Category, select App Install.

  8. Edit the Event Name to read install:

    🚧

    Make sure to enter the event name in lowercase, exactly as shown.

  9. Make sure that the values for Click Through Conversion Window and View Through Conversion Window match those in AppsFlyer (see previous section).

  10. Adjust the values of the remaining fields, as desired.

    For additional guidelines, see the Help Center.

  11. Review your chosen settings, and click on Create (bottom, right):

Create in-app events in Taboola (Optional)

🚧

First create in-app events in AppsFlyer - see above: (Optional) Track in-app events.

  1. Open Realize, and select the account (top, left) that you will use to track conversions.

    🚧

    Make sure to select the Taboola account that matches the Account ID or Network ID you filled in under the AppsFlyer setup.

  2. In the sidebar (left), select Tracking.

  3. Click on + New Conversion (far right).

    Select Create conversions using code and click Continue.

  4. Type in a Conversion Name of your choice.

    This is a descriptive name for your convenience. It is not used for the server-to-server communication.

  5. For Conversion Type, select EVENT:

  6. (Optional) If relevant, fill in a Fixed Value.

    Tip: If the event returns a dynamic value, leave this field blank. For additional guidelines, see the Help Center.

  7. Select the relevant Category for your in-app event.

  8. Edit the Event Name to match the name you provided in AppsFlyer, exactly as it appears there.

    🚧

    Use the identical event name, as it appears in AppsFlyer.

    Event names are case-sensitive.

  9. Make sure that the values for Click Through Conversion Window and View Through Conversion Window match those in AppsFlyer (see previous section).

  10. Adjust the values of the remaining fields, as desired.

    For additional guidelines, see the Help Center.

  11. Skip the Event Code section.

    (You will post the event values to Taboola via the postback URL.)

  12. Review your chosen settings, and click on Create (bottom, right):

Start Tracking Conversions

Well done! Your setup is complete, and you are now ready to track conversions.

Test your configuration

🚧

We recommend testing your configuration.

Note that you can test your configuration before your campaign goes live.

For more information, see: Verify your S2S conversion tracking

Understanding the end-to-end flow

The following steps illustrate the end-to-end flow:

  1. John clicks on your creative/ad. Taboola appends the actual Click ID value (abc123) and directs John to your Landing Page:

    https://www.example.com/taboola_landing_page?pid=taboola_int&af_siteid={site_id}&c={campaign_name}&af_ad_id={campaign_item_id}&af_click_lookback=7d&clickid=abc123

  2. The Landing Page records the Click ID value for John's session (using Smart Script).

  3. A bit later, John clicks on a CTA in the Landing Page:
    https://yourappname.onelink.me/XyZK/

  4. The Smart Script appends the relevant query string params and Click ID, and directs John to the target URL:
    https://yourappname.onelink.me/XyZK/?af_js_web=true&af_ss_ver=2_2_0&pid=taboola_int&c={campaign_name}&af_adset={campaign_item_id}&clickid=abc123

  5. AppsFlyer stores John's Click ID (abc123) and directs John to the App Store/Play Store.

  6. A bit later, John installs the App - which you defined as a conversion in the AppsFlyer dashboard and Realize.

  7. AppsFlyer invokes the Taboola postback URL, inserting John's Click ID, and the event name:
    https://trc.taboola.com/actions-handler/log/3/s2s-action?click-id=abc123&name=install

  8. Realize reflects the conversion in the relevant reports.

📘

What is the Taboola Click ID?

When a user clicks on your campaign creative, Taboola's {click_id} macro passes a unique identifier to the destination URL.

Creative link:
https://www.example.com/taboola_landing_page?pid=taboola_int&af_siteid={site_id}&c={campaign_name}&af_ad_id={campaign_item_id}&af_click_lookback=7d&clickid={click_id}

Upon clicking, the user is directed to:
https://www.example.com/taboola_landing_page?pid=taboola_int&af_siteid={site_id}&c={campaign_name}&af_ad_id={campaign_item_id}&af_click_lookback=7d&clickid=abc123

The abc123 identifier is a Click ID. It stores information about the click event - e.g., which campaign was clicked and which user, etc. When AppsFlyer passes back the Click ID, Taboola uses it for attribution and tracking.

A real Click ID is an alphanumeric, case-sensitive string. E.g.
{user.click_id_example}

📘

Useful links