Skip to main content

Advertiser Setup Guide

Getting Started#

Tracking is the core of your Campaign. Accurate and robust tracking ensures that publishers have confidence in your campaign and that the validation of conversions/sales is an easy process.

Select a Tracking Method#

You should select from the following methods:

Optimise recommend using Server to Server (S2S) Tracking to ensure maximum accuracy.

Benefits#

Our Advertisers use our technology to dive deeper into their data and gain greater insights on how customers convert. Our platform enables you to:

  • Unlock your conversion funnel and optimise different Publisher channels
  • Optionally integrate & activate Publisher technologies
  • Mitigate the impacts of Apple ITP and Firefox Tracking Protection with 1st party cookies
  • Capture data across all data points, journeys events and devices
  • Build commission strategies based on any metric such as basket contents, voucher codes and many more
  • Use our attribution modelling to unlock a deep understanding of how different channels interact with your Publishers

We also offer:

  • A Controlled Data Exchange ensures you only share the right data with the right partners. We don’t profile and resell your customer data.
  • Fast, simple setup
  • One click integrations with your Tag Management Partner such as Google Tag Manager & Ensighten
  • Secure & robust platform tried & tested across our global Advertiser network
  • An approach to data protection that is governed by our client’s obligations to their customers as well as strict regulation
  • API Integrations with 3rd Party attribution providers

Key Points#

  • Ensure tags are added to any separate mobile sites
  • Ensure conversion tracking is added mobile apps, see Mobile App Tracking
  • Sale/Conversion confirmation tags must activate every time the post conversion thank you page loads (even if the user leaves the site and returns later on) to ensure multi-session conversions can be recorded
  • Publishers’ sales are tracked within the conversion window/cookie duration
  • Ensure you provide Optimise with any campaign analytics codes (eg. utm_source) or unique URLs
  • If you are running your campaign with more than one affiliate network you should notify Optimise of the channel to which the conversion has been attributed
  • If you are using Google Analytics see important information on campaign timeout settings.
  • Ensure your setup mitigates the impact of Apple ITP & Firefox Enhanced Tracking Protection
  • In the interest of security, we recommend that the Universal tags should not normally be added to any payment details' pages

Server 2 Server (S2S)#

Optimise tags can also be implemented via Server 2 Server (S2S). This is the most robust method for installing a tracking tag.

S2S Overview

Capture SSKEY#

To implement S2S Tracking a click reference (SSKEY) will be automatically be appended to every request to the landing page (or deeplink) defined for the campaign.

Website example:

https://www.advertiser.com/?SSKEY=86a0a0b15e0143c8a14bd9c25628aecb

Mobile App example:

mobileapp://home?SSKEY=86a0a0b15e0143c8a14bd9c25628aecb

The SSKEY must be retrieved from the QueryString and stored in a local object and returned to Optimise when a conversion event takes place:

  • For Web this should be a persistent cookie for 30 days (or the agreed attribution window for the campaign). The cookie should be a 1st party, secure, server-side cookie on the primary domain. eg. in the above example: advertiser.com
  • For Mobile Apps this must be a persistent variable in local storage for 30 days (or the agreed attribution window for the campaign).

Build Request#

The S2S Tag must be activated on the post-sale confirmation page of your site with the SSKEY from the cookie:

https://track.omguk.com/e/s/s2s/?AppID={SaleReference}&MID={MID}&PID={PID}&status={OrderValue}SSKEY={SSKEY}&Channel=Optimise&CustID={CustomerID}&Vcode={VoucherCode}

This Postback is a GET Request, we do not currently support POST.

Additional parameters, such as Basket Item Tracking, may be appended to the URL as per the below Conversion Tag examples.

important

If possible, we still recommend adding the Universal Tag to your site to take full advantage of Optimise reporting capabilities, Market Intelligence and cross-device attribution (using CustID).

Universal Tracking#

Our Universal Tracking consists of 2 components:

  1. Universal Tag – this is added to every page of your site
  2. Conversion Tag – this is added to the post-sale confirmation page of your site

Universal Tag Setup#

Add the Universal Tag to every page of your site (but see Other considerations when adding tracking). The tag will be supplied by our Tracking Support Team.

Your Universal Tag will look like this example:

<script type="text/javascript">OMID=460;OPID=3207;ORef=escape(window.parent.location.href);!function(){var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src="//track.omguk.com/e/qs/?action=Content&MID=" + OMID + "&PID=" + OPID + "&ref="+ ORef;var b=document.getElementsByTagName("body")[0];if(b)b.appendChild(a,b);else{var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)}}();</script>
important
  • Universal tags should always be added to your site so that they are activated for all visitors (hardcoded).
  • Universal Tags will create a first party tracking cookie on the advertiser’s domain. This cookie will be populated via a value passed as a parameter (sskey) on the QueryString. * If you redirect or manipulate the landing page URL in any way you must ensure the sskey parameter and value pair are also passed. For example: https://www.advertiser-website.com/?sskey={sskey}
  • If you do not implement Universal Tracking, sales from Apple Safari browsers may not be recorded due to Apple Intelligent Tracking Protection. For further info see ITP 2.2 & * Firefox Enhanced Tracking Protection
  • The tag must be implemented as a Asynchronous script

Conversion Tag Setup#

Before adding the Conversion Tag to the post-sale confirmation page of your site, please choose your site’s sector from the list below to see what data is required:

Retail Example#

If you capture individual basket items as part of your checkout process, our system can be configured to pass these details to us, so we can analyse and report on this detail. Our reports can:

  • Provide visibility of which individual products (or items) are being purchased within the shopping basket.
  • Identify the most popular products & categories and the overall basket value, with options for more granular analysis by device type and by publisher.

The following parameters should be included in the conversion tag:

FieldDescription
APPIDA unique conversion reference such as the Order Number. This reference will be used for conversion validation purposes.
iID †The SKU or identifier of the item purchased †
iName †The name of the item purchased †
iVol †The volume of the item purchased †
iVal † ††The value of the individual item purchased
iCategory †The category of the item purchased †
iBrand †The brand of the item purchased †
StatusThe total order value
ShippingThe amount of shipping in the order
TaxThe amount of tax in the order
ActionThe event taking place e.g Sale or Quote
VcodeThe Voucher Code
ChannelThe Channel to which the conversion is attributed more
CustTypeWhether the customer is new or existing more

† If you are adding multiple values they must be separated by a pipe | If using IID, IName, IVal and IVol, all four MUST be populated. All other i fields may be empty strings, but ALL the fields which are populated must contain the same number of pipe-delimited values

†† This is the value of an individual item. We will automatically calculate IVol x IVal

Example tag:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={PID}&status={TotalOrderValue}&shipping={ShippingValue}&tax={TaxValue}&action={Event}&IID={SKU}&iName={ItemName)&IVol={ItemVolume}&iVal={ItemValue}&ICategory={ItemCategory}&IBrand={ItemBrand}&Vcode={VoucherCode}&Channel={Channel}&CustType={CustomerType}"></script><noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID={MID}&PID={PID}&status={TotalOrderValue}&shipping={ShippingValue}&tax={TaxValue}&action={Event}&IID={SKU}&iName={ItemName)&IVol={ItemVolume}&iVal={ItemValue}&ICategory={ItemCategory}&IBrand={ItemBrand}&Vcode={VoucherCode}&Channel={Channel}&CustType={CustomerType}" border="0" height="1" width="1"></noscript>

Standard Parameters

ValueRequirementInstructions
{MID}MandatoryYour unique Advertiser ID. Your account manager will provide this value.
{PID}MandatoryYour unique Campaign ID. Your account manager will provide this value.

Travel Example#

The following parameters should be included in the conversion tag:

FieldDescription
APPIDA unique conversion reference such as the booking number. This reference will be used for conversion validation purposes.
StatusThe total order value.
ActionThe event taking place e.g Sale or Quote
iBrand †The brand of the item purchased
iStartDate †The start date, inception date or travel date of the item purchased
iEndDateThe end date or travel return date of the item purchased
iDuration †The duration of the trip
iOrigin †The origin of the journey purchased. Eg. An airport code or city name
iDestination †The destination of the journey purchased. Eg. An airport code or city for hotel bookings
iTravelClass †The class of travel purchased
iPassengerCount †The number of passengers travelling. Eg. A:2,C:2,I:0
iVenueName †The hotel, restaurant or venue name for a booking
iCancellable †Is trip cancellable y/n
VcodeThe Voucher Code
ChannelThe Channel to which the conversion is attributed more
iMeta †An object to store any additional data that does not fit in the above.
CustTypeWhether the customer is new or existing more

† If you are adding multiple values they must be separated by a pipe |

Example tag:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={PID}&status={TotalOrderValue}&action={Event}&iBrand={Brand}&iStartDate={StartDate}&iEndDate={EndDate}&iOrigin={Origin}&idestination={Destination}&iTravleClass={Class}&iPassengerCount={NoOfPassengers}&iVenueName={Venue}&Vcode={VoucherCode}&Channel={Channel}&CustType={CustomerType}"></script><noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID={MID}&PID={PID}&status={TotalOrderValue}&action={Event}&iBrand={Brand}&iStartDate={StartDate}&iEndDate={EndDate}&iOrigin={Origin}&idestination={Destination}&iTravleClass={Class}&iPassengerCount={NoOfPassengers}&iVenueName={Venue}&Vcode={VoucherCode}&Channel={Channel}&CustType={CustomerType}" border="0" height="1" width="1"></noscript>

Standard Parameters

ValueRequirementInstructions
{MID}MandatoryYour unique Advertiser ID. Your account manager will provide this value.
{PID}MandatoryYour unique Campaign ID. Your account manager will provide this value.

Insurance Example#

The following parameters should be included in the conversion tag:

FieldDescription
APPIDA unique conversion reference such as the policy number or quote reference. This reference will be used for conversion validation purposes.
StatusThe policy value.
ActionThe event taking place e.g Sale or Quote
iPolicytype †The type of insurance policy purchased
iPolicyValue †The policy value
iStartDate †The start date, inception date or travel date of the item purchased
iEndDate †The end date of the trip or policy
iPolicySpecific †Any Policy Type specific information (such as add-ons or animal type)
iPaymentType †The payment method used by the consumer. Eg. Monthly, Annual
VcodeThe Voucher Code
ChannelThe Channel to which the conversion is attributed more
iMeta †An object to store any additional data that does not fit in the above.

† If you are adding multiple values they must be separated by a pipe |

Entertainment Example#

The following parameters should be included in the conversion tag:

FieldDescription
APPIDA unique conversion reference such as the booking number. This reference will be used for conversion validation purposes.
ActionThe event taking place e.g Sale or Quote
iTicketCount †The number of tickets purchased.
iPaymentType †The payment method used by the consumer.
VcodeThe Voucher Code
ChannelThe Channel to which the conversion is attributed more
iMetaAn object to store any additional data that does not fit in the above.

† If you are adding multiple values they must be separated by a pipe |

Example tag:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={PID}&status=&action={Event}&iTicketCount={TicketCount}&iPaymentType={PaymentType}&Vcode={VoucherCode}&Channel={Channel}&CustType={CustomerType}"></script> <noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID={MID}&PID={PID}&status=&action={Event}&iTicketCount={TicketCount}&iPaymentType={PaymentType}&Vcode={VoucherCode}&Channel={Channel}&CustType={CustomerType}" border="0" height="1" width="1"></noscript>

Standard Parameters

ValueRequirementInstructions
{MID}MandatoryYour unique Advertiser ID. Your account manager will provide this value.
{PID}MandatoryYour unique Campaign ID. Your account manager will provide this value.

Finance Example#

The following parameters should be included in the conversion tag:

FieldDescription
APPIDA unique conversion reference such as the unique application number. This reference will be used for conversion validation purposes.
ActionThe event taking place e.g Sale or Quote
IPurpose †The purpose of a loan
iDuration †The duration of a loan
ChannelThe Channel to which the conversion is attributed more
iMeta †An object to store any additional data that does not fit in the above.

† If you are adding multiple values they must be separated by a pipe |

Example tag:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={PID}&status=&action={Event}&iAmount={Amount}&Vcode={VoucherCode}&Channel={Channel}"></script><noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID={MID}&PID={PID}&status=&action={Event}&iAmount={Amount}&Vcode={VoucherCode}&Channel={Channel}" border="0" height="1" width="1"></noscript>

Standard Parameters

ValueRequirementInstructions
{MID}MandatoryYour unique Advertiser ID. Your account manager will provide this value.
{PID}MandatoryYour unique Campaign ID. Your account manager will provide this value.

Energy Example#

The following parameters should be included in the conversion tag:

FieldDescription
APPIDA unique conversion reference such as the policy number or quote reference. This reference will be used for conversion validation purposes.
StatusThe policy value.
ActionThe event taking place e.g Sale or Quote
iDurationLength of plan that customer has switched to.
iCatDual or Single Fuel Switch
CustTypeCustomer Type - "new" or "existing" more
iStartDateThe start date, inception date of the deal purchased
iEndDateThe end date of the deal purchased
iPaymentType †The payment method used by the consumer. Eg. Monthly, Annual
ChannelThe Channel to which the conversion is attributed more
iMeta †An object to store any additional data that does not fit in the above.

† If you are adding multiple values they must be separated by a pipe |

Example tag:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={PID}&status=&action={Event}&iDuration={Duration}&iCat={DualORSingle}&CustType={CustomerType}&iStartDate={StartDate}&iEndDate={EndDate}&iPaymentType={PaymentType}&Channel={Channel}"></script><noscript><img src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={PID}&status=&action={Event}&iDuration={Duration}&iCat={DualORSingle}&CustType={CustomerType}&iStartDate={StartDate}&iEndDate={EndDate}&iPaymentType={PaymentType}&Channel={Channel}" border="0" height="1" width="1"></noscript>

Standard Parameters

ValueRequirementInstructions
{MID}MandatoryYour unique Advertiser ID. Your account manager will provide this value.
{PID}MandatoryYour unique Campaign ID. Your account manager will provide this value.

Mobile App Tracking#

Adding tracking onto your Mobile App and ensuring you have a robust deeplinking strategy is an important part of any affiliate campaign.

As Cookies are not supported in the Mobile App environment you will need to select between either:

  1. Mobile Attribution Provider
  2. Server 2 Server

Enable deep linking in your App by configuring for Apple Universal Links & Android App Links

Integration Templates#

Our Universal Tracking is ready to integrate with a number of 3rd party tracking and e-commerce platforms.

Also see Conversion Tag setup to see what data should be added to your conversion tags.

Please read our latest guidance on Browser Privacy Controls and ensure your 3rd party solution will mitigate these impacts.

Google Tag Manager#

Optimise Tracking tags can easily be added to Google Tag Manager. This article assumes you have a basic understanding of Google Tag Manager Data Layer variables.

Login to your Google Tag Manager account and follow the steps below.

Adding the Sale/Transaction Tag#

Optimise is integrated directly into Google Tag Manager.

When selecting your Tag Type choose more > Optimise Conversion Tag as illustrated below.

GTM

Complete the requested values with those provided by your account manager:

GTM

Add the tag manually#

  1. Click on Container > Tags

GTM

  1. Click “New” to create a new tag

GTM

  1. Choose “Custom HTML Tag” i. Add a name for your tag such as “Optimise Sale Tag” ii. Create a Custom tag

GTM

  1. Copy and paste in tag provided to you by your Account Manager i. Copy and paste in the tag provided ii. You will need to replace the current placeholders with the associated DataLayer Variable names you have created in Google Tag Manager. eg. AppID={{SaleReference}} and Status={{SaleValue}}. If you don’t have any DataLayer variables jump to this section.

See example below (note the below tag is an example only, you must use the tag provided by your Account Manager) :

GTM

important

If GTM tags are being used to host affiliate JS tags , it may be necessary to enable document.write in GTM. For further information see Custom Tag Types

  1. Select the Events to fire the tag Select the “Some Pages” option

GTM

You will then need to choose the variable which fires the tag. If you have not already created a variable then we recommend creating a First Party Cookie variable named “SaleAttribution” (see example below).

GTM

  1. Choose a Publish option to complete the changes

GTM

  1. Adding Data Layer Variables

To understand more about the Data Layer Click here.

Add the following JavaScript to your page just above your Google Tag Manager JavaScript replacing the values as appropriate:

<script>dataLayer =[{'SaleReference':'ORD-000023','SaleValue':'12.99','VoucherCode':'VOUCHER1234'}];</script>

You should then create the variables from the Data Layer within Google Tag Manager so they are accessible:

GTM

Once the variable has been created you can reference it in your Tags through a macro format like: {{SaleReference}}

We also recommend installing the Google Tag Assistant extension to ensure you Tag Manager is properly configured and to view the DataLayer.

Shopify#

Conversion Tag#

Tracking macros reference: https://shopify.dev/docs/themes/liquid/reference/objects/order

Deploy the tag to the field described here: https://help.shopify.com/en/manual/orders/status-tracking/customize-order-status/add-conversion-tracking#tracking-pixels

  • In your Shopify admin, click Settings then Checkout
  • Under Order processing tab go to Additional scripts box.
  • Add the pixel at the bottom of the  Additional scripts box.

Tag template (replace MID & PID values):

<script type='text/javascript' src="https://track.omguk.com/e/ss/?APPID={{order_number}}&MID=###MID###&PID=###PID###&status={{subtotal_price|money_without_currency}}&vcode={{discounts.first.code}}&cur={{shop.currency}}&channel=optimise&IID={%for line_item in line_items%}{{line_item.sku}}|{%endfor%}&IVol={%for line_item in line_items%}{{line_item.quantity}}|{%endfor%}&IName={%for line_item in line_items%}{{line_item.title}}|{%endfor%}&IVal={%for line_item in line_items%}{{line_item.price|money_without_currency}}|{%endfor%}&IBrand={%for line_item in line_items%}{{line_item.vendor}}|{%endfor%}&CustID={{customer.id}}"></script> <noscript><img src="https://track.omguk.com/e/si/?APPID={{order_number}}&MID=###MID###&PID=###PID###&status={{subtotal_price|money_without_currency}}&vcode={{discounts.first.code}}&cur={{shop.currency}}&channel=optimise&IID={%for line_item in line_items%}{{line_item.sku}}|{%endfor%}&IVol={%for line_item in line_items%}{{line_item.quantity}}|{%endfor%}&IName={%for line_item in line_items%}{{line_item.title}}|{%endfor%}&IVal={%for line_item in line_items%}{{line_item.price|money_without_currency}}|{%endfor%}&IBrand={%for line_item in line_items%}{{line_item.vendor}}|{%endfor%}&CustID={{customer.id}}" border="0" height="1" width="1"></noscript>

Universal Tag#

Adding a Universal Tag is a little bit more complex but can be achieved as follows: Because Shopify uses templates, you only need to copy the Universal Tag code snippet into the theme.liquid and checkout.liquid files:

  • In your Shopify admin, click Online store, and then click jThemes**.
  • In the theme drop-down, click Edit Code.
  • In your Shopify admin, open the theme.liquid page.
  • Paste the code snippet just before the closing Body tag of the theme.liquid page.

Tag template (replace MID & PID values):

<script type="text/javascript">OMID=XXXX;OPID=XXXX;ORef=escape(window.parent.location.href);!function(){var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src="//track.omguk.com/action/application/?action=Content&MID=" + OMID + "&PID=" + OPID + "&ref="+ ORef+"&CustID={{customer.id}}";var b=document.getElementsByTagName("body")[0];if(b)b.appendChild(a,b);else{var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)}}();</script>

Conditional Integration#

If you want to only show the for certain visits then you should configure the source/referrer as described in this guide: https://help.shopify.com/en/manual/orders/status-tracking/customize-order-status/add-conversion-tracking#conditional-integration

Woocommerce#

For clients using WordPress & Woocommerce we recommend using the PRO Version of the Tracking Code Manager plugin. Once installed use the following tracking tag template. The tracking achieved here is only basic and doesn’t utilise Item/Basket or Voucher Code Tracking.

Further instructions here: https://support.intellywp.com/article/22-add-conversion-pixels-to-your-woocommerce-thank-you-page

or here: https://docs.deltaprojects.com/tracking/wordpress.html

<script type='text/javascript' src="https://track.omguk.com/e/ss/?APPID=@@ORDERID@@&MID=###MID###&PID=###PID###&status=@@TOTAL@@&cur=@@CURRENCY@@&channel=optimise"></script><noscript><img src="https://track.omguk.com/e/si/?APPID=@@ORDERID@@&MID=###MID###&PID=###PID###&status=@@TOTAL@@&cur=@@CURRENCY@@&channel=optimise" border="0" height="1" width="1"></noscript>
important

If you are using any custom thank you pages, this may prevent the macros for @@OrderID@@, @@Total@@ and @@Currency@@ from functioning correctly

Magento#

For clients using Magento we recommend following the instructions below. This integration guide applies to Magento 1.x.

Conversion Tag#

Add the Conversion Tag to the Checkout Success page and include the relevant data items.

Locate the checkout success page at:

/var/www/html/magento/app/design/frontend/base/default/template/checkout/success.phtml

You will need to insert the following code blocks into the page.

First add the PHP block:

<?php$lastOrderId = Mage::getSingleton('checkout/session')->getLastOrderId();  $order = Mage::getModel('sales/order')->load($lastOrderId);$basket = $order->getAllItems();
$allData = $order->getData();$orderValue = $_totalData['grand_total']; $shippingvalue = $_totalData['shipping_amount']; $voucherCode = $_totalData['coupon_code'];$currency = Mage::app()->getStore()->getCurrentCurrencyCode();?>

Then add this JavaScript block immediately below it:

<script type='text/javascript' src="https://track.omguk.com/e/ss/?APPID=<?php echo $lastOrderId; ?>&MID=###MID###&PID=###PID###&status=<?php echo $orderValue; ?>&cur=<?php echo $currency; ?>&channel=optimise&vcode=<?php echo $voucherCode; ?>"></script><noscript><img src="https://track.omguk.com/e/si/?APPID=<?php echo $lastOrderId; ?>&MID=###MID###&PID=###PID###&status=<?php echo $orderValue; ?>&cur=<?php echo $currency; ?>&channel=optimise&vcode=<?php echo $voucherCode; ?>" border="0" height="1" width="1"></noscript>

Ensure you replace ###MID### and ###PID### wiht the values supplied to you.

Universal Tag#

To include the Universal Tag on every page locate:

/app/design/frontend/[your package]/[your theme]/template/catalog/product/view.phtml

And enter the following code:

<script type="text/javascript">OMID=###MID###;OPID=###PID###;ORef=escape(window.parent.location.href);!function(){var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src="//track.omguk.com/e/qs/?action=Content&MID=" + OMID + "&PID=" + OPID + "&ref="+ ORef;var b=document.getElementsByTagName("body")[0];if(b)b.appendChild(a,b);else{var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)}}();</script>

Ensure you replace ###MID### and ###PID### wiht the values supplied to you.

DoubleClick Floodlight#

Basic Template#

JavaScript tag (preferred):#
<script type='text/javascript' src="https://track.omguk.com/e/ss/?status=%pcost=!;&MID=XXXX&PID=XXXX&APPID=%pord=!?"></script><noscript><img src="https://track.omguk.com/e/si/?Status=%pcost=!;&MID=XXXX&PID=XXXX&APPID=%pord=!?" border="0" height="1" width="1"></noscript>

Pixel:

<img src="https://track.omguk.com/e/si/?Status=%pcost=!;&MID=XXXX&PID=XXXX&APPID=%pord=!?" border="0" height="1" width="1">

Note: We recommend configuring the tag in Default mode. See Publisher mode vs Default mode below

Template for Extended Data#

JavaScript tag (preferred):#
<script type='text/javascript' src="https://track.omguk.com/e/ss/?MID=XXXX&PID=XXXX&Status=%pcost=!;&EX1=%pu12=!;&APPID=%pord=!?"></script><noscript><img src="https://track.omguk.com/e/si/MID=XXXX&PID=XXXX&Status=%pcost=!;&EX1=%pu12=!;&APPID=%pord=!?" border="0" height="1" width="1"></noscript>
Pixel:#
<img src="https://track.omguk.com/e/si/?MID=XXXX&PID=XXXX&Status=%pcost=!;&EX1=%pu12=!;&APPID=%pord=!?" border="0" height="1" width="1"> 
  • DoubleClick Macros start with a %p and finish with a =!; For example:
  • The last Macro must with finish with a =!? (otherwise all parameters will be appended to the end of the string)

Floodlight Example#

Example of a Doubleclick Floodlight tag on Advertiser confirmation page:

<iframe src="https://5737208.fls.doubleclick.net/activityi;src=5737208;type=thank0;cat=reser0;qty=1;cost=%JS_TotalCostWithTax%;u1=%JS_ArrivalDtYYYYMMDD%;u2=%JS_DepartDtYYYYMMDD%;u3=%JS_NightsQty%;u4=%JS_CCountry%;u5=%JS_GuestQty%;u6=%JS_ChildQty%;u7=%JS_RmQty%;u8=%JS_RoomName%;u9=%JS_TotalCost%;u10=%JS_CurrCode%;u11=%JS_RateName%;u12=%JS_HName%;u13=%JS_LangCode%;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;ord=%JS_ConfirmNo%?" width="1" height="1" frameborder="0" style="display:none"></iframe>

u parameters can be used to populate EX & Item values.

Implementation#

  • If you utilise DoubleClick within Google Tag Manager you can take advantage of the Conversion Linker tag to mitigate the impacts of Apple ITP 2.0
  • If the Optimise tag is not being fired by the DoubleClick tag, check that the DoubleClick tag has not been implemented as a pixel - it must be added as an iframe for it to be able to load our tag

Publisher mode vs Default mode#

  • Publisher mode – in this mode our tag is only fired for our affiliate activity (so the Floodlight tag looks for the cookie DoubleClick from the last click and if it determines it to be from one of our affiliates (as we have redirected the user via e.g https://ad.doubleclick.net/ddm/clk/402032186;202198621;s)  then our tag is fired.
  • Default mode – our tag is fired for every application, however our tag retrieves our affiliate Id from our own cookie, so we will only track sales where our cookie is found. Although this means there is  a chance of cross – channel duplication (e.g in the event that the user has clicked on of our affiliates’ links and then returned via another network or marketing channel) , we do have a monthly validation process where we send all tracked sales for you to approve or reject, so any duplicated sales that have been attributed to another channel can be rejected then. Alternatively, our tag has a ‘channel’ parameter that can be used to pass a last referring channel identifier into our tag. If you can configure the Floodlight tag to pass this onto our tag, we can then configure our tracking to ignore any sales where we aren’t the last referring channel.

DoubleClick help article on Floodlight variables#

https://support.google.com/dfa/partner/answer/1094276?hl=en See note re Google Tag Manager: End your string with a semi-colon, not a question mark.

DoubleClick click trackers#

Example: http://ad.doubleclick.net/clk;263036570;88365486;t

Further info about Click tracker tags: http://support.google.com/dfa/partner/answer/188812?hl=en&ref_topic=2619210

Testing a floodlight tag (Google articles)#

Tealium#

Optimise is configured in the Tealium Integrations Marketplace.

To activate Optimise Universal Tracking Both the Universal Tag and Conversion Tag should be enabled.

Configure the Universal Tag#

Enable the Optimise Universal Tag. Insert the MID & PID provided into the relevant fields.

Configure UT tag on Tealium

If you're tracking a unique Action such as a Quote or Application, enter the reference number.

Configure UT tag on Tealium

Configure the Conversion Tag#

Enable the Optimise Universal Tag. Insert the MID & PID provided into the relevant fields.

Configure Conversion tag on Tealium

If you are passing Extended Data enter the relevant data variables as shown below.

Configure Conversion tag on Tealium

Impact#

Impact supports client-side and server-side postbacks. We should implement a server-side postback and pass {sskey} into an impact subid parameter The below is an example template for a postback:

https://track.omguk.com/e/si/?APPID={ActionId}&MID=XXXX&PID=XXXX&Status={SaleAmount}&SSKEY={SubId1}&CUR={Currency}&iid={join(items, i, "{i.sku}", "|", "")}&iname={join(items, i, "{i.cat}", "|", "")}&Ival={join(items, i, "{i.amt}", "|", "")}&ivol={join(items, i, "{i.qty}", "|", "")}&icat={join(items, i, "{i.cat}", "|", "")}&EX1={RefCustomerCountry}&EX2={RefCustomerCity}&VCODE={PromoCode}

Note that the {ActionId} will return the Impact Radius OrderId not the Advertiser's OrderId. This should be fine if only validating against IR data. To track advertisers order we need to use {oid} macro The following code should be used to extract item/basket data:

&iid={join(items, i, "{i.sku}", "|", "")}&iname={join(items, i, "{i.name}", "|", "")}&val={join(items, i, "{i.amt}", "|", "")}&ivol={join(items, i, "{i.qty}", "|", "")}&icat={join(items, i, "{i.cat}", "|", "")}

List of Macros for Postbacks: https://help.impactradius.com/hc/en-us/articles/115002183068-Event-Postback-URL?flash_digest=04d1de05da7bd2a41c657b6838f52e3e137790ba&flash_digest=23441d498afdbe03ab

Partnerize#

All integrations are via API. To integrate Partnerize please speak to your Account Manager.

Mobile Attribution Providers#

Appsflyer#

Optimise can easily be integrated with Appsflyer. Follow the steps below to configure your campaign:

Installs, In-app events and Rejected Installs#

  • Log in to your Appsflyer account and select Configuration > Integrated Partners
  • Search "Optimise" and click to configure
  • Turn on "Activate Partner" and "In-App Events Postback" (Fig 1)
  • Enter the Application Key provided under "General Settings" and also under "In-App Events Settings" (Fig 1)
  • To add In App Events click "Add Event" (Fig 2):
    • Select the "SDK Event Name"
    • Enter a "Partner Event Identifier" - this needs to be name for the event without whitespaces that you send to Optimise
    • Set "Sending Option" to "This Partner Only"
    • Set "Send Revenue" to "Values & revenue"
  • Under Permissions enable (Fig 3):
    • "Allow to configure integration"
    • "Allow to configure In-app event postbacks"

Fig 1

Report Card

Fig 2

Report Card

Fig 3

Report Card

Adjust#

Optimise can easily be integrated with Adjust. Provide a unique URL from your Adjust account to your account manager.

Branch#

Optimise can easily be integrated with Branch. Provide a unique URL from your Branch account to your account manager.

Extended Data#

Up to 11 additional free-text values when a Sale/Conversion occurs. These values are referred to as Extended Data and can contain any alphanumeric data up to 50 characters. To capture Extended data simply add a new parameter in the format: &EX1={EX1-Value} Example Sale/Conversion Tag configured with 11 Extended Data values:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={MID}&status={SaleValue}&VCode={VoucherCode}&ex1={EX1-Value}&ex2={EX2-Value}&ex3={EX3-Value}&ex4={EX4-Value}&ex5={EX5-Value}&ex6={EX6-Value}&ex7={EX7-Value}&ex8={EX8-Value}&ex9={EX9-Value}&ex10={EX10-Value}&ex11={EX11-Value}"></script><noscript> <img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID=4301&PID=4406&status={SaleValue}&VCode={VoucherCode}&ex1={EX1-Value}&ex2={EX2-Value}&ex3={EX3-Value}&ex4={EX4-Value}&ex5={EX5-Value}&ex6={EX6-Value}&ex7={EX7-Value}&ex8={EX8-Value}&ex9={EX9-Value}&ex10={EX10-Value}&ex11={EX11-Value}" border="0" height="1" width="1"> </noscript>

Extended data may also be used to assign different commissions depending on the value. Speak to your Account Manager if your require this.

important

It is strongly recommended that you do not include any personal data in Extended Data values. If you intend to include personal data you must notify your Account Manager in advance. Data may be shared with Publishers in reporting.

Basket Item Tracking#

Optimise recommend adding Basket Tracking and this is required for the following:

  • Dynamic commission based on the content of the basket. eg. award different commissions based on items within the basket
  • Reporting of which individual products (or items) are being purchased within the shopping basket.

This can be achieved by adding the following Basket Item parameters to your Sale/Conversion Tag:

ParameterRequirementInstructions
INameMandatoryThe name of the basket item purchased †
IIDMandatoryThe SKU of the basket item purchased †
IVolMandatoryThe amount of the basket item purchased †
IValMandatoryThe individual value of the basket item purchased † ††
ICatOptionalThe individual category of the basket item purchased †
IBrandOptionalThe brand of the basket item purchased †

† If you are adding multiple values they must be separated by a pipe |

†† This is the value of an individual item. We will automatically calculate IVol x IVal

Additional basket item values are available. Please refer to the examples above for which data should be supplied

The following example demonstrates how the Item Values should be configured.

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={MID}&status={SaleValue}&VCode={VoucherCode}&IName={ItemName1}|{ItemName2}&IID={ItemID1}|{ItemID2}&IVol={ItemVolume1}|{ItemVolume2}&IVal={ItemValue1}|{Itemvalue2}&ICat={ItemCategory1}|{ItemCategory2}"></script><noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID=4301&PID=4406&status={SaleValue}&VCode={VoucherCode}&cur={CurrencyCode}&IName={ItemName1}|{ItemName2}&IID={ItemID1}|{ItemID2}&IVol={ItemVolume1}|{ItemVolume2}&IVal={ItemValue1}|{Itemvalue2}&ICat={ItemCategory1}|{ItemCategory2}&IBrand={ItemBrand1}|{ItemBrand2}" border="0" height="1" width="1"></noscript>
important

It is strongly recommended that you do not include any personal data in Extended Data values. If you intend to include personal data you must notify your Account Manager in advance. Data may be shared with Publishers in reporting.

Customer Type#

To record the type of customer add the CustType parameter to the tracking tag.

Values should be new or existing. For example:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={MID}&status={SaleValue}&VCode={VoucherCode}&CustType=New"></script> <noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID=4301&PID=4406&status={SaleValue}&VCode={VoucherCode}&CustType=New" border="0" height="1" width="1"></noscript>

Adding Channel#

Where possible you should notify Optimise of the Channel to which Sale/Transaction is attributed. This can be achieved by adding &Channel= to your Sale Tag, for example:

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={MID}&status={SaleValue}&VCode={VoucherCode}&Channel={Channel}"></script> <noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID=4301&PID=4406&status={SaleValue}&VCode={VoucherCode}&Channel={Channel}" border="0" height="1" width="1"></noscript>

You should always pass &Channel=Optimise when a sale is attributed to an Optimise Affiliate.

We recommend using the following values in the Channel Parameter:

ValueWhen to use
OptimiseWhen sale attributed to Optimise
PPC-GenericWhen sale attributed to PPC Generic activity
PPC-BrandWhen sale attributed to PPC Brand activity
DisplayWhen sale attributed to Display activity
Non-Optimise-AffWhen sale attributed to Non Optimise Affiliate activity
OtherWhen sale attributed to any other channel

You should always pass &Channel=Optimise when a sale is attributed to an Optimise Affiliate. We recommend using the following values in the Channel Parameter:

Cross Device Tracking with CustID#

When available we recommend passing a Customer Identifier. This can be used to stitch sessions together and attribute conversions across devices.

<script type="text/javascript" src="https://track.omguk.com/e/ss/?APPID={SaleReference}&MID={MID}&PID={MID}&status={SaleValue}&VCode={VoucherCode}&CustID={CustomerReference}"></script> <noscript><img src="https://track.omguk.com/e/si/?APPID={SaleReference}&MID=4301&PID=4406&status={SaleValue}&VCode={VoucherCode}&CustID={CustomerReference}" border="0" height="1" width="1"></noscript>

We recommend using a hashed version of the email address, phone number or customer reference number.

De-Duplication#

If you are running your Affiliate Campaign with more than one Affiliate Network or you are using a Cross Channel De-duplication tool then you will need to consider how this will work with your Affiliate Campaign. Passing Channel Data can help with this.

Multiple Affiliate Networks#

If you are running your Affiliate Campaign on multiple Affiliate Networks you will de-duplicate sales to avoid paying the same commission more than once.

This is typically achieved by adding a parameter to your website that can be used to track the referring traffic source. The example below uses a ref querystring parameter.

http://www.example.com/?ref=omg

This parameter’s value is usually stored in a cookie (with the same duration as the Optimise cookie) and then retrieved on the post-sale confirmation page to determine whether or not the Optimise Sale/Conversion Tracking Tag is displayed (also known as show/hide).

Where possible you should notify Optimise of the Channel to which Sale/Conversion is attributed. For further information see (#adding-channel)[Adding Channel].

Unique Order Reference#

It’s important that your {SalesReference} is unique as we will use this to automatically de-duplicate your sales. If you are unable to generate a unique Sales Reference or Order Number please contact your Account Manager.

Testing Your Tracking#

We will provide Click URLs to test the tracking setup. Two tests should be completed; A single session test and multi-session test should be completed. A multi-session test will test that Optimise tracking tags are activated when a visitor returns to the site at a later stage to complete a transaction.

There are two tools available to help you test your Tracking implementation:

  1. If you are using Google Chrome you can use the Optimise Tag Inspector Extension to check Optimise tags are being activated.
  2. You can also use the Tracking Debug Tool under Tools > Tracking on Dashboard.
important

If using a third-party tracking provider (e.g. DoubleClick), or in-house attribution logic (show/hide), you will need to provide Optimise with a redirect url to add to our systems before completing a test.

Single session test#

  1. Delete browser cookies
  2. Click on the Test URL provided - this should redirect to your website.  Ensure that the URL redirects to the correct landing page and that the correct values (QueryString Parameters) are being passed to your landing page.
  3. On any pages where you have implemented a Universal Tag you should check the presence of the Universal Tag using the Optimise Tag Inspector.
  4. From your landing page either place an item in your basket or fill out the form to obtain a quote or generate a lead or application.
  5. Complete the full sale, lead or application process. On your post-sale confirmation page where you have placed your Conversion Tag you should check the Tag configuration using the Optimise Tag Inspector. Note: If your site is making a direct Server to server call to Optimsie you won't see this from your browser
  6. Refresh the post-sale confirmation page several times.
  7. Check the Conversions Report in your account and you should see one conversion recorded. If you do not see this conversion (or you see duplicate transactions) double-check your Conversion Tag / S2s postback is configured correctly.
  8. Verify that the unique sale reference (Order ID) is displayed (unless alternative arrangements are agreed this will be needed for validating tracked activity).
  9. Repeat the above for each campaign.

Multi session test#

  1. Delete browser cookies
  2. Click on the Test URL provided - this should redirect to your website.
  3. Go to your browser's privacy settings, locate and delete all track.omguk.com cookies (this is to ensure our 1st party advertiser cookie is tested)
  4. Close the browser, re-open it and go directly to your site (do not click on any sponsored search results)
  5. On any pages where you have implemented a Universal Tag you should check the presence of the Universal Tag using the Optimise Tag Inspector.
  6. From your landing page either place an item in your basket or fill out the form to obtain a quote or generate a lead or application.
  7. Complete full sale, lead or application process. On your post-sale confirmation page where you have placed your conversion Tag you should check the Tag configuration using the Optimise Tag Inspector. Note: If your site is making a direct Server to server call to Optimsie you won't see this from your browser
  8. Check the Conversions Report in your account and you should see one conversion recorded. If you do not see this conversion, double-check your Conversion Tag / S2s postback is configured correctly.
  9. Verify that the unique sale reference (Order ID) is displayed (unless alternative arrangements are agreed this will be needed for validating tracked activity).
  10. Repeat the above for each campaign.

Useful Tools#

You may find it helpful to use a tool that can monitor the HTTP traffic that your browser generates. This will let you see all the events that take place when a webpage is loaded and help you identify whether the Optimise Sale/Conversion Tag is fired - or if it is unsuccessful it should help you to identify why.

  • Fiddler Tool - A free tool that works with Google Chrome and Internet Explorer

Tracking Debug Tool#

The Tracking Debug tool can be found under Tools > Tracking on Dashboard.

Tracking Debug Tool

To get started select the Campaign that you want to test.

This will load a default website URL to run the test against. You can change this URL to any address where you have Tracking Tags installed such as UAT or Production environment.

Click START DEBUGGING and this will launch a new window which opens the URL defined above.

If a Tracking Tag is configured on this page it will instantly send a response back to the Tracking Debug Tool showing the details of the Tracking Tag. As you navigate through the website you will see each a new line each time the Tool registers a new Tracking Tag Event.

Optimise Tag Inspector#

Optimise Tag Inspector is a Google Chrome Extension that makes it easy to see and verify your tracking tags are correctly implemented.

Download Extension#

You can install the Extension here from the Chrome Web Store: https://chrome.google.com/webstore/detail/optimise-tag-inspector/ekiippaneofjfjgokhonnfbpjlmmajdc

Using the extension#

  1. Open a URL where an Optimise Tag is installed.
  2. Simply click on the icon in your Chrome Toolbar (see below)

optimise-tag-inspector-1

  1. If a tag/s are identified these will be detailed in the popup window.

Warnings#

No Cookie#

If a cookie for your campaign cannot be found you will see the warning detailed below. To resolve this click on the Test URL you were provided.

optimise-tag-inspector-2

No PID or No MID found#

The tag is misconfigured and does not contain a valid MID or PID value. These should be numerical values. Please check these values against the tags that you were sent by your account manager.

No AppID found#

Your Transaction tag must contain a unique AppID value. This is typically a unique order or sale reference that can be used to match the Transaction offline for validation purposes. If you do not require offline validation then a random unique value can be generated and populated.

No Action found#

Your Event tag must contain a valid Action. Please check the Event Tags guide  for valid &action= values.