3️Add an IntentIQ Tag to Your Webpage

Here’s how to create an IntentIQ tag on a webpage and where to position it. This tag is comprised of a variety of configurable attributes, as described below.

To import the IntentIQ Bid Enhancement JS Library for Prebid into a webpage –

Step 3.1, Insert the IntentIQ Tag into Your Webpage

The IntentIQ tag must be positioned where it can resolve the unknown user ID and include it in the bid request before it leaves the webpage towards the SSP and, subsequently, the DSP for the auction.

We recommend you position the IntentIQ tag after the declaration of the Prebid object and Prebid object queue. Here is the Prebid initialization recommended by the Prebid documentation, which initializes the Prebid.js object and establishes a task queue –

var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
  • var pbjs = pbjs || {}; – This line sets up the Prebid.js object, ensuring it's ready for use.

  • pbjs.que = pbjs.que || []; – This line creates a task queue for Prebid.js, a list of actions to execute by Prebid.js.

Step 3.2, Create an instance of the IntentIQ Object

Create an instance of the IntentIQ object according to the following template –

var intentIq_123123 = new IntentIqObject({
    partner: 123123,
    pbjs: mypbjs,
    callback: iiqCallbackMethod,
    timeoutInMillis: 400,
    abPercentage: 95,
    manualWinReportEnabled: true,
    domainName:'currentDomain.com',
    vrBrowserBlackList: [“chrome”],
    gamObjectReference: googletag, // Optional
    gamParameterName: 'my_gam', // Optional
   });
Step 3.3, Configure the parameters of the IntentIQ Object

Configure the parameters of the IntentIQ object as follows –

  • partner – Specifies your unique partner token ID provided by your IntentIQ customer service representative. This partner ID can also be found on the Account page of the wizard. For example, 123123.

  • pbjs – Place a reference to your Prebid.js object here so that the IntentIQ object can interact with it.

  • callback – Specifies the callback method (iiqCallbackMethod) that the IntentIQ object will invoke after obtaining the ID from its local storage or through the IntentIQ server using its API. This callback method must set up all required auction parameters and initiate the auction in Prebid. What happens in the event of a timeout? Regardless of whether the IntentIQ Agent returns the ID or times out, this callback method must initiate the auction in Prebid. So, even if the IntentIQ Agent doesn't provide an ID within the timeoutInMillis duration (described below), the callback must still configure all the required auction parameters and trigger the Prebid auction. The callback function should provide the EIDs retrieved by IntentIQ and the A/B test group designated to this EID by our agent. When invoking the callback method that you provided, IntentIQ passes two parameters:

    • IntentIQ ID(s)

    • An A/B group to which the user is assigned

  • timeoutInMillis – Specifies the maximum time to wait for the callback before considering it a timeout. When a timeout occurs, it typically means that the EIDs could not be acquired within the specified time limit. See Callback above for more details. For example, 2000. An A/B group is always included in the callback regardless of a timeout. For example, the call iiqCallbackMethod({}, "A") will be initiated if the callback was fired before IntentIQ was able to retrieve its EIDs from the server or the local storage and the user was assigned to A/B group "A".

  • abPercentage – IntentIQ's compensation is based on the revenue uplift it creates. Revenue uplift is determined through A/B testing – Group A (with IntentIQ Bid Enhancement) or Group B (without IntentIQ Bid Enhancement). Best practice is a 95/5% split. Therefore, the default value is 95%, which is here. You can modify this value. Note – If a page has a large enough traffic volume to ensure a significant and constant amount of traffic in Group B, then you can adjust the percentage to higher than 95% to get the most uplift for more of your traffic.

  • manualWinReportEnabled – Set this parameter to 'true' to affirm your responsibility (as the publisher) to report rendered impressions data to IntentIQ via the reportExternalWin function. This enhances reporting precision, minimizes discrepancies, and allows IntentIQ to assess the impact of its solution accurately.

  • domainName – Specifies the domain of the page in which the IntentIQ object is currently running and serving the impression. This domain will be used later in the revenue reporting breakdown by domain. For example, cnn.com. It identifies the primary source of requests to the IntentIQ servers, even within nested web pages.

  • browserBlackList - Specifies a list of browsers for which the IntentIQ Agent will not provide service. Specify the name(s) of the browser traffic to block, such as Chrome.

  • gamObjectReference (Optional) - GAM object referencing, If you are using GAM, you can integrate IntentIQ's A/B groups as key-value parameters in your existing GAM setup. This enables IntentIQ to use this data as input for its revenue and performance dashboards.

    IntentIQ conducts A/B testing using two groups to showcase the impact of its Bid Enhancement service. The Control Group, which makes up approximately 5% of ads without Bid Enhancement, serves as a baseline. In contrast, the Test Group, which comprises about 95% of ads, utilizes Bid Enhancement. This comparison helps IntentIQ demonstrate how the Test Group outperforms the Control Group.

    The outcomes of the revenue uplift from the A/B testing groups are visible in both the IntentIQ dashboard and the A/B testing reports you can generate in your GAM platform. These compare Group A (with IntentIQ Bid Enhancement) and Group B (without IntentIQ Bid Enhancement). In this way, IntentIQ makes it easy for you to use your GAM platform objectively to verify the A/B revenue uplift results on your own.

  • gamParameterName (Optional) - By default, intent_iq_group is designated as the key name for the Intent IQ groups on GAM. Specifying this parameter allows you to set a custom GAM key name for the Intent IQ groups.

TIP for the Trial – Chrome operates with cookies and, therefore, is less likely to benefit from IntentIQ services. This is unlike Safari, Edge, Opera, Firefox and Android Web Kit, which are cookieless and where our service can provide the most significant uplift. Therefore, during a trial, it is recommended to set the browserBlackList parameter to Chrome so that you can effectively block Chrome browsers and concentrate on cookieless environments, which is especially relevant for measuring the uplift benefit of a trial.

IMPORTANT Note – Do NOT set the manualWinReportEnabled parameter to ‘false’ and then manually send impression data, as it causes duplicate reporting in the IntentIQ system.

Step 3.4, IntentIQ Callback Method

IntentIQ passes the following to the callback

  • IntentIQ ID(s)

  • An A/B group assigned for the user

The IntentIQ callback parameter should be assigned a method reference that an IntentIQ agent will automatically trigger upon one of the following conditions

  • Successful retrieval of IDs from the local storage or the IntentIQ server

  • The elapse of the specified timeout, as defined in the timeoutInMillis parameter.

You are free to add any code you feel necessary to the callback, but the following must be included –

  • Auction Configuration and Trigger – This callback method must configure all the parameters required by the Prebid auction, trigger the auction in Prebid and continue with the bid auction process. You may refer to the callback and timeoutInMillis parameters described above for more details.

  • [Optional] Ad Impression Reports to GAM – If you are using Google Ad Manager (GAM), you should set up the callback to report the ads served to IntentIQ to ensure accurate reporting, as described in the Set Up GAM section.

Last updated