Integrations

Content Recommendation Integration

Content Rec. Integration

Content Recommendation Integration

Assertive Yield maintains deep integrations with various Content Recommendation vendors. The data accuracy is considered to be high and granular down to the specific page view.

Supported

  • Taboola
  • Outbrain

Taboola

Activation Request

Please reach out to your Account Manager by e-mail and CC lior.lom@taboola.com as well as yana.d@taboola.com and rotem.munk@taboola.com with the following message:

We are using Assertive Yield for revenue attribution and would like to enable the Taboola `Paid Pubs Realtime Data Flow` integration.

Could you please ask your tech support team to set it up with the following URL?

https://taboola.ay.delivery?key=CEF762C7D8E294911D5BEEF96384B&networkId={{networkId}}

Please replace the {{networkId}} part with our Taboola network id.

Implementation Adjustment

On the page please add

_taboola.push({
    external_page_view:
        ((window.performance.timing.navigationStart + window.performance.now()) * Math.random() * 1000000).toFixed() +
        "|" +
        window.location.host,
});

right after

window._taboola = window._taboola || [];

It should look like this:

window._taboola = window._taboola || [];
_taboola.push({
    external_page_view:
        ((window.performance.timing.navigationStart + window.performance.now()) * Math.random() * 1000000).toFixed() +
        "|" +
        window.location.host,
});
// your other _taboola.push code below here

Known Limitations

  • Widget level accuracy is not guaranteed. Taboola does not provide widget level information in real-time, therefore we split the generated revenue across all widgets of the given page view.
  • Discrepancy handling is not supported. Taboola does not provide any identification of the domain or widget, thus we are unable to measure and use the amount of revenue generated from events without the externalId.
  • Under-reporting. The total amount of revenue received from Taboola with the real-time implementation is around 2.5% less than reported on the UI.
  • Miss-match correction is not possible. Taboola does not provide any identification of the domain or widget, thus we are unable to measure and use the amount of revenue generated from events without a matching externalId.

Outbrain

There are two integrations that are best used in combination:

  1. Pixel -> seconds to minutes behind, up to 5% off
  2. API -> 4 hours behind, very accurate

1. Activation Request

Both the API and the Pixel are not enabled by default. Please reach out to your account manager and ask them to enable it.

For the API:

Hello ...,

we would like to make use of the `Engage Reports API - External ID` feature of Outbrain.
This needs to be enabled explicitly.

Could you please ask your tech support team to enable it for us?

For the Pixel:

Hello ...,

we would like to make use of the `Real-time Revenue Pixel` feature of Outbrain.
This needs to be enabled explicitly.

Could you please ask your tech support team to enable it for us on the following endpoint?

https://outbrain.ay.delivery/?key=DCBB512F1F597831CC5B88B5D1687&networkId=[[Outbrain-PublisherId]]&organizationId=[[AY-OrganizationId]]&requestId={{requestId}}&rev={{revenue}}&timestamp={{click_timestamp}}&extid={{extid}}&extidSecondary={{extIdSecondary}}&widgetId={{widgetId}}&os={{os}}

Important: please replace the [[AY-OrganizationId]] as well as [[Outbrain-PublisherId]] with yours before sending it to Outbrain. After the change, the URL should no longer contain any square brackets ([]).

2. Connecting the API to AY

Establish Connection

  1. head to https://suite.assertiveyield.com/settings
  2. click on Add Service Account on the right-hand side
  3. click on Revenue -> Outbrain
  4. complete the form

Link to Entity

  1. head to https://suite.assertiveyield.com/settings
  2. select the entity you want to link to the Outbrain account
  3. click on the Revenue tab of the Entity Settings Card
  4. link the Outbrain account at the very bottom under Configure Other SSPs

3. Widget Adjustment

Now all that is left is assigning the external id to the Outbrain widgets. For this the widget div needs to be extended with the data-external-id and data-external-secondary-id attributes.

Note: Outbrain has a limit of 100k unique values per hour. If your traffic on the given domain is less, then we recommend assigning a random value. E.g. the following. Otherwise a unique value that leverages both primary and secondary id is recommended. (100k primary * 100k secondary = 10 billion possible combinations)

((window.performance.timing.navigationStart + window.performance.now()) * Math.random() * 1000000).toFixed();

If you are not an experienced developer in this field, then we recommend using the following snippet instead of the current implementation and replacing all the DROP_... values with your own.

Please ensure that all attributes are properly set and verify the integration afterwards.

<script>
    var externalId = (
        (window.performance.timing.navigationStart + window.performance.now()) *
        Math.random() *
        1000000
    ).toFixed();
    var script = document.scripts[document.scripts.length - 1];
    var div = document.createElement("div");
    div.setAttribute("class", "OUTBRAIN");
    div.setAttribute("data-src", "DROP_PERMALINK_HERE");
    div.setAttribute("data-widget-id", "DROP_WIDGET_ID_HERE");
    div.setAttribute("data-external-id", window.location.host);
    div.setAttribute("data-external-secondary-id", externalId);
    script.parentElement.appendChild(div, script);
</script>
<script type="text/javascript" async="async" src="https://widgets.outbrain.com/outbrain.js"></script>

Validating Integrations

For the API: Once everything is set up you can validate the integration by analyzing the Import Logs > Revenue.

For the Pixel: You can verify that it is working by running a "Yield Analytics" report and checking if Outbrain revenue is reported for the last 4 hours.

This website uses cookies.   Learn more