# Quick start

If you have a simple setup you can follow this simple guide.

Once your Convert Network integration contact point has successfully tested and confirmed the tracking configuration test: true should be changed to test: false.

Put this on every page just before the tag

<script src="https://perform.convertnetwork.com/js/transactions/v1.js" defer></script>

Put this on your order confirmation page

<script>
var Convert = {
    test: true,
    transactions: [
        // Repeat this structure for each transaction
        {
            programme_id: 'your-programme-id', // This should correspond to the programme you're tracking
            product_name: 'Put your product name here',
            checkout_value: '123.50', // The total value of the checkout
            transaction_id: '12345', // Order ID / Policy ID / etc

            // .. any vertical specific fields can go here ..
        },
    ],
};
</script>

# Tracking

# Lifecycle

In order to track a sale through Convert Network information needs to pass through a complete chain from partner, through the click tracker, to the retailer and finally to the sales tracker with a unique ID which can be used to identify the chain at any given step.

When a customer completes a purchase, Convert Network will need to run front end (JavaScript) or accept data from back end (API) code which will let our servers know the completed sale chain and the details of said sale.

Step Description
1 Customer is on a partner website
2 Customer clicks on a product link
3 Customer is taken to Convert Network click tracking
4 Convert Network takes note of the click and forwards the customer to advertiser website
5 Advertiser website loads Convert Network tracking code which makes a note of the click ID
6 Customer purchases a product
7 Advertiser website loads Convert Network tracking code which makes a note of the transaction details

# Click Tracking

Click tracking occurs when a customer clicks a link on a partner website and expects to land on an advertiser website. Convert sits in-between the two websites so that it can track the interaction and forward the customer on seamlessly.

All that is needed for click tracking to occur is for any outbound links to advertiser websites to be replaced with Convert Network links.

When the customer lands on an advertiser website there will be a GET parameter named convert_uuid set containing a click ID.

The convert_uuid value will should be stored in a cookie named convert_clicks in JSON array format, and the cookie should be placed on the same domain which any sale confirmation page will be shown. For example, if a customer is shown a message such as "Thank you for your order. Your order ID is #12345" on confirmation.advertiser.com, then the convert_clicks cookie should be set on confirmation.advertiser.com.

A few examples of valid convert_clicks cookies are shown below.

[]

['af9f98cf-7d53-4132-b8c4-05f7b7a42230']

['af9f98cf-7d53-4132-b8c4-05f7b7a42230','744da3e1-90f5-4d7e-a5b6-f157b94f3edf']

The Convert JavaScript tag can handle the setting of the cookie. To have this happen, simply load the Convert tag on any landing page, or whenever a convert_uuid GET parameter exists in the URL. The Convert JavaScript tag code will automatically detect convert_uuid in the URL and create the cookie.

Cookies set by Convert will automatically expire after a 30 day window has passed.

A basic clickout URL

https://perform.convertnetwork.com/v1/redirect?programme_id=562ad9b5-1a6a-49eb-990f-03e66752d30b&partner_id=11da4a12-a204-4eff-8fd4-68710447a614&destination_url=https%3A%2F%2Fexample.com/product-1

A typical landing page URL

https://advertiser.com/product-1?convert_uuid=af9f98cf-7d53-4132-b8c4-05f7b7a42230

Loading the Convert Network JavaScript tag for cookie tracking

...
<script src="https://perform.convertnetwork.com/js/transactions/v1.js" defer></script>

# Transaction Tracking

Convert Network transaction tracking code should be called at the point where a sale is confirmed. This is usually on an order confirmation page where an order ID may be displayed to the customer.

You can record transactions using JavaScript or our API.

# JavaScript Transaction Tracking

In order to track a transaction using plain JavaScript an object named Convert must exist in the window scope. After this object has been created the Convert JavaScript tag must be loaded such that it can read from the Convert object.

The Convert object can take three properties; test, transactions and clicks (optional). Transactions are all that is needed for a transaction track to take place.

Note that with test set to true you can test your implementation without affecting live data. When you are ready to go live this setting can be changed to false.

Fields shown are all that is required, however; we offer additional optional fields which can be tracked dependent on transaction vertical. Please see Supported Verticals and Fields for information about supported types and optional fields.

<script>
var Convert = {
    test: true,
    transactions: [
        // Checkout line 1
        {
            // Required fields
            programme_id: 'your-programme-id',
            product_name: 'Gold Insurance Cover',
            checkout_value: '123.50',
            transaction_id: '1234', // this would be the policy ID

            // Vertical specific fields
            quote_id: '2092',
            pet_species: 'dog',
            pet_breed_name: 'labrador retriever',
            policy_start_date: '2018-03-30',
            purchase_type: 'monthly',
            cover_level: 'gold',
        },

        // Checkout line 2
        {
            // Required fields
            programme_id: 'your-programme-id',
            product_name: 'Silver Insurance Cover',
            checkout_value: '44.99',
            transaction_id: '2345',  // this would be the policy ID

            // Vertical specific fields
            quote_id: '2093',
            pet_species: 'cat',
            pet_breed: 'tabby',
            policy_start_date: '2018-03-30'
            purchase_type: 'monthly',
            cover_level: 'silver',
        }
    ],
};

</script>
<script src="https://perform.convertnetwork.com/js/transactions/v1.js" defer></script>

# Google Tag Manager Transaction Tracking

Convert tracking also supports Google Tag Manager (GTM). To do this, simply set up the same code shown on the right in a Tag, and either use a data layer or JavaScript to populate any data required.

Example: confirmation-page.php

<input type="hidden" id="checkout-value" value="<?php echo $checkout->value ?>">

Example: GTM Tag

<script>
var Convert = {
    test: true,
    transactions: [
        // ...
        {
            programme_id: 'your-programme-id',
            checkout_value: document.getElementById('checkout-value').value
            // ...
        },
        // ...
    ],
};
</script>
<script src="https://perform.convertnetwork.com/js/transactions/v1.js" defer></script>

# API Transaction Tracking

You can instead choose to send clicks to us using our API.

Please refer to the API documentation for instructions on how to do so.

If you do choose to use the API instead then you must track the Click ID yourself. This was sent as a GET parameter when the user was redirected to your site as the convert_uuid.

# Supported Verticals and Fields

# Pet Insurance

Name Example Description Required
programme_id 'dba305ca-0200-442a-ba72-7499f28c54fe' The ID of your pet insurance programme Yes
transaction_id '12345' e.g. Customer policy ID Yes
product_name 'Gold Cover' A product name Yes
checkout_value '123.50' How much this line is worth in GBP Yes
quote_id '12345' Customer quote id No
pet_species 'Dog' Species of insured pet No
pet_breed 'Labrador Retriever' Breed of insured pet No
policy_start_date '2019-01-01' Start date of policy No
purchase_type 'monthly' Purchase period e.g. monthly, yearly No
cover_level 'gold' What level of cover this line features No

# Mobile Phones

Name Example Description Required
programme_id 'f4a1463e-5fe2-4875-a0d7-fb85a671c98f' The ID of your mobiles programme Yes
transaction_id '12345' e.g. Customer order ID Yes
product_name 'Apple iPhone X with promo tariff' A product name, this links with the Commission manager Yes
checkout_value '123.50' How much this line is worth in GBP Yes
product_type 'PAYM' Type of mobile product sold No
network 'EE' Mobile network the product has been sold No
tariff_data '1GB' Product data allowance No
tariff_text '500' Product text allowance No
tariff_mins '1000' Product minutes allowance No
monthly_cost '26.99' Product monthly cost No

# Broadband

Name Example Description Required
programme_id 'f4a1463e-5fe2-4875-a0d7-fb85a671c98f' The ID of your broadband programme Yes
transaction_id '12345' e.g. Customer order ID Yes
product_name 'Superfast Fibre' A product name, this links with the Commission manager Yes
broadband_provider 'BT' Broadband provider for the product which has been sold Yes
checkout_value '20.00' This should be the upfront cost for the product which has been sold Yes
broadband_technology 'ADSL' Type of broadband product sold No
monthly_cost '26.99' Product monthly cost No
contract_term '18' Length of contract in months No
free_gift '18m Free Sky Talk Anytime' What was the free gift with this order No

# API

If you are sending data to the API for transactions that occured on your website then you must supply an array of clicks that contain the convert_uuid the user was given when redirected to your site.

Name Example Description Required
partner_id '456789123' The ID of the partner Yes
programme_id 'f4a1463e-5fe2-4875-a0d7-fb85a671c98f' The ID of your programme Yes
product_name 'Superfast Fibre' A product name Yes
checkout_value '20.00' This should be the upfront cost for the product which has been sold Yes
transaction_id '12345' e.g. Customer order ID Yes
channel 'website' website (default) or call_centre No

# Custom

Convert supports tracking an unlimited number of additional data points which you may use in your own reporting.

To track custom data points simply pass a JSON object named custom under any transaction.

These data points won't be shown within Convert Network however they will be available when data is exported from the system.

Example: Custom tracking metrics

// Transaction
{
    // Required fields
    programme_id: 'your-programme-id',
    product_name: 'Gold Cover Insurance',
    checkout_value: '123.50',
    transaction_id: '12345',

    // ...
    custom: {
        'voucher_code_used': 'BLACKFRIDAY',
        'orientation': 'landscape',
        'anything you like': true,
      // ...
    }
},