Application Support:Offer Tracking

From HasOffers

Conversion Tracking is a form of website traffic analytics that measures the effectiveness of a source directing visitors to a web site and persuading them to take a desired action. The source could be a referrer, a search engine, a search phrase used etc. It could also be a characteristic of the visitor for instance the country, age, income etc. The desired action could be the completion of an order page, the sign-up of a newsletter etc. In affiliate – performance – marketing, conversions are the key metric for the success of an offer. The effectiveness is expressed as a percentage called the Conversion Rate.

Depending on the technical requirements for conversion tracking of an offer, the HasOffer platform provides client-based and server-based tracking methods. Client-based tracking method set a cookie when a visitor clicks on a tracking link and, when the visitor reaches the page with the tracking pixel code, a conversion is tracked based on the information in the cookie stored on the client’s computer. Server-based tracking methods rely on the advertiser storing some information that is passed to them on click and then passing this information back to the HasOffers platform after a desired action to track a conversion.

Statistics including clicks and conversions are presented within the Reports section in your network. In order to explain conversion tracking effectively, it’s best for you to fully understand how tracking links work.

Contents

Affiliate Tracking Links

Affiliate tracking links are the main method of initiating conversion tracking. You and your affiliates use the tracking links for offers in marketing campaigns, etc. To create affiliate tracking links, select an offer from the Manage Offers page and view it. In the middle of the view page, there is a section for generate tracking links. In the network interface, you will have a list of affiliates to generate tracking links for. In the affiliate interface, affiliate’s tracking links auto-generate with their ID. The tracking link is the link that will be used in marketing campaigns. When a visitor clicks on a tracking link, it is recorded as a click.

The HasOffers platform has many advanced features for tracking links. If offers have multiple offer URLs (advertiser landing pages), then you can specify a specific one to use or even chose random. Generate a tiny URL tracking link, compacts the query sting in the link to an ID.

Additional tracking information can be appended to tracking links as well. Add Sub ID to track unique user information for each conversion. You can add up to five affiliate Sub IDs using the parameters: aff_sub, aff_sub2, aff_sub3, aff_sub4, and aff_sub5. You can view affiliate Sub ID data in the Conversion Report by checking the Affiliate Sub ID boxes in the Fields section. Add Source to tracking links allows you to group and filter statistics on the report pages based on the specified values.

If creatives are available for the offer, creative code can be obtained. Creative code combines the creative file and tracking links together. Simply place the creative code on a web page. Most creatives include an impression pixel which tracks an impression each time the creative is displayed. You can easily browse all creatives available for the offer by clicking Browse All and then select the creative you desire to obtain code for.

Conversion Tracking

When setting up an offer there are several methods of conversion tracking. iFrame and Image Pixels are client-based conversion tracking methods that rely on cookies. SSL encryption is available for iFrame and Image pixels. Server Postbacks are server-based conversion tracking methods that rely on the server to store tracking information. HTTP iFrame Pixel is the standard method for conversion tracking. Image pixels and server postbacks limit affiliates abilities to track conversions in their third-party systems.

Client-Based Tracking with iFrame and Image Pixels

Conversion tracking with iFrame and Image Pixels involves placing a cookie on a user's computer when he or she clicks on an advertisement. Then, if the user clicks on your advertisements and reaches one of your conversion pages, the pixel is displayed and the user's browser sends the cookie to the HasOffers platform. When such a match is made, the HasOffers platform records a successful conversion for you.

The diagram below illustrates how conversion tracking works for a direct offer. A direct offer is an offer that you have a direct relationship with the advertiser and the advertiser is able to place an iFrame or Image Pixel on the confirmation page for the offer. The advertiser will need to place this iFrame or Image pixel on the confirmation page for the offer. Internet users see advertising and click on the tracking link for the offer on your network. The tracking links records the click, sets a cookie on the user’s computer and redirects the user to the offer URL. If the user then continues and buys something and makes it to a confirmation page, the iFrame or Image Pixel is displayed. When the iFrame or Image Pixel is displayed, the user’s browser sends the cookie information to the HasOffers platform and if it is valid records a conversion.

Tracking Code

When the tracking code is placed on the conversion page of the offer, statistics on users who click on tracking links and complete a conversion (purchase, sign-up, page view, or lead) can be collected and viewed in your reports. Tracking code is available after you create a new offer or click on the link for the tracking code at the top of offer view pages. After the code is placed successfully on the confirmation page of the offer’s website, the HasOffers platform can successfully track conversion.

iFrame Pixels

HTTP and HTTPS iFrame Pixels is client-based tracking using cookies. The HTTP iFrame Pixel is the industry standard for tracking conversions. Use the HTTPS iFrame Pixel for offers that use SSL encryption. If the confirmation page of an offer is HTTPS, the tracking code must be HTTPS as well as browser security prevents non-secure items on a secure page from loading. IFrame pixels are the recommended tracking options as they provide robust ways for affiliates to track conversions in their own third-party systems as well. If HTTPS iFrame Pixel is selected, all affiliates pixels for the offer are required to be HTTPS.

Below is a screen capture of the displays the tracking code for an HTTP iFrame Pixel. Advertisers can append their own Sub ID to the conversion which they can access in their advertisers’ interface. Adding an advertiser Sub ID appends the parameter adv_sub into the tracking code.

Image Pixels

HTTP and HTTPS Image Pixels is client-based tracking that uses cookies as well. Some advertisers only accept Image Pixels due to their own technology limitations. The main difference between Image and iFrame pixels is that iFrame pixels allow affiliates to use client-based cookie tracking with their third party systems while Image pixels prevent affiliates from using client-based cookie tracking. Use the HTTPS Image Pixel if the offer’s confirmation page uses SSL encryption.

Below is a screen capture of the displays the tracking code for an HTTP Image Pixel. Advertisers can append their own Sub ID to the conversion which they can access in their advertisers’ interface. Adding an advertiser Sub ID appends the parameter adv_sub into the tracking code.

Cookieless Pixel

Cookieless tracking can be implemented on client-based tracking methods of iFrame Pixels and Image Pixels. By default, iFrame Pixels and Image Pixels record conversions based on cookie information set. If a user doesn't have cookies enabled or for any other reason doesn't have cookie, then a conversion won't be recorded. If you include a transaction ID in an iFrame or Image pixel and there isn't a cookie set, it will check to see if the transaction_id specified is valid and record a conversion. For more information read How to track conversions cookieless client-side.

Implement Tracking Pixel Code

A conversion would be when a user completes whatever action you are hoping for, such as signing up for something or making a purchase. To track the conversions using an iFrame or Image Pixel you need your tracking pixel code on the "thank you" page for the sign-up/purchase. Only one pixel code needs to be placed for each offer. The HasOffers platform includes specific offer IDs in the pixel code to ensure accurate tracking.

The code should be placed between the tags, closer to the top tag so that it will load first to ensure accurate tracking. Placing the tracking code into your website code will not affect your site. You should NOT place the code in the header or footer of your page. This could overstate your conversion statistics and defeat the purpose of tracking.

Server Postbacks

Some offers require server-based tracking. Server-based tracking methods don’t use cookies for storing tracking information. Instead the tracking information is stored on the server and IDs associated with the records. Then on conversion a server does a postback to register a conversion – Server Postbacks.

Server Postbacks are commonly used for offers that requiring post conversion authentication in which the user isn’t available when authentication is completed and thus client-based tracking can’t be used. The HasOffers platform has two Server Postback tracking methods: Server Postback with Transaction ID and Server Postback with Affiliate ID.

Just like Image Pixels, Server Postbacks prevent affiliates from using client-based cookie tracking with their own third-party systems. Instead, affiliates are enabled to place their own Postback URL. When the advertiser calls the HasOffers platform with an offer’s Server Postback URL and successfully tracks a conversion, the HasOffers platform then calls the affiliate’s Postback URL.

Server Postback with Transaction ID

Server Postback with Transaction ID allows the advertiser to pass back only unique Transaction IDs to record conversions for offers. On click all affiliate tracking information (offer ID, affiliate ID, source and sub IDs) will be stored with a Transaction ID. The Transaction ID must be passed into the Offer URL so that the advertiser can store this value in their system. When a conversion is generated on the offer, the advertiser’s system will look up the transaction ID and then insert this value into the Server Postback URL when calling. The HasOffers platform will take the transaction ID and turn the corresponding record into a conversion.

For example an offer URL would be: http://www.myfuncards.com/?transaction_id={transaction_id}

On click of a tracking link, user redirected to: http://www.myfuncards.com/?transaction_id=123456789

The ad server dynamically replaces {transaction_id} on click with the value.

On conversion, advertiser would call this postback URL with the transaction ID: http://demo.go2jump.org/aff_lsr?transaction_id=123456789

Server Postback with Affiliate ID

Server Postback with Affiliate ID allows the advertiser to pass back the Affiliate ID to recorded conversions. The advertiser can also pass back affiliate source and any of the affiliate subs into the Server Postback URL, but they must maintain this information. You must pass this information into the Offer URL so they can store this information and refer to it upon conversion. Using this method simply records a conversion and doesn’t associate it with a click (even though a click is tracked).

For example affiliate 10 advertises offer 2 with offer URL: http://myfuncards.com/?aff_id={affiliate_id}

On click of a tracking link, user redirected to: http://myfuncards.com/?aff_id=10

The ad server dynamically replaces {affiliate_id} on click with the value.

On conversion, advertiser would call postback URL for offer 2 and include affiliate ID 10: http://demo.go2jump.org/aff_lsr?offer_id=2&affiliate_id=10

Implement Server Postback URL

There are a few ways to implement Server Postback URLs for conversion tracking. Generally Server Postback URLs are used in proprietary tracking systems. These proprietary tracking systems use server-side code to load your offer’s Postback URL to track conversions. With PHP, fOpen or CURL can be used to request the offer’s Postback URL. With ASP, you can do an HTTP request to request the offer’s Postback URL. When the advertiser requests your offer’s Postback URL, a conversion is tracked.

The advertiser will need to store either the HasOffers’ transaction ID or affiliate ID associated with each click in their system. Generally advertiser already have their own tracking system in place and either transaction ID or affiliate ID can be passed into their tracking link as a sub ID in their system. Then on the conversion, the advertiser can dynamically include the sub ID into the postback URL which would either be an affiliate ID or transaction ID depending on which method you use.

Test Conversion Tracking

You can verify conversion tracking is working for an offer by waiting for a conversion to occur or completing a test conversion yourself. On the tracking code pages, right below the code, there is a test link. Use the test tracking link to test the offer yourself or send the test link to the advertiser to test the offer for you.

After you complete the advertiser's offer, run a Conversion Report to make sure that a conversion has been tracked. The test conversion will show up under your account with the Affiliate Sub ID of "testoffer" and Affiliate Source of "testoffer". It may take a few minutes for the conversion to show up in the reports. If the test did not generate a conversion in the reports, then the offer or conversion tracking isn't setup properly. Firebug for FireFox is a great tool to see if iFrame and Image pixels were loaded.

POST Requests

There are two ways to send data between servers over HTTP: get and post. A get request works by loading a URL with all the parameters in the query string. A post request works by submitting parameters in the head and the values are not in the query string. All the examples in the wiki by default assume get requests are being used. This shows how post requests can be used.

The action URL for all POSTS would be the part of the URL before the start of the query string specified by ?. Any parameters after the ? would need to be specified as form values.

Click POST Requests

To submit a POST request to a tracking link you would use a form and set the values from the query string to from fields. The offer_id and aff_id are required parameters. You can include any other optional parameters used in tracking links as well.

The example below is submits a post request for this tracking link: http://demo.go2jump.org/aff_c?offer_id=462&aff_id=1091&aff_sub=id1&source=g1

<form action="http://demo.go2jump.org/aff_c" method="post">
<input name="offer_id" value="462" type="text" />
<input name="aff_id" value="1091" type="text" />
<input name="aff_sub" value="id1" type="text" />
<input name="source" value="g1" type="text" />
<input type="submit" />
</form>

Click POST Requests with Encrypted URL

You can also do a POST request to a tracking link that is encrypted. The difference is the action URL includes the hashed value. Any values in the query string can still be appended as form values.

The example below is submits a post request for this tracking link: http://demo.go2jump.org/SH1?aff_sub=id1

<form action="http://demo.go2jump.org/SH1" method="post">
<input name="aff_sub" value="id1" type="text" />
<input type="submit" />
</form>

Conversion POST Requests

You can do a POST request to a conversion URL as well. You'll just need to use the correct action URL based on the action from the conversion pixel URL or postback URL. Any values in the query string can still be appended as form values.

The example below is submits a post request for this conversion pixel link: http://demo.go2jump.org/aff_l?offer_id=462&adv_sub=order1

<form action="http://demo.go2jump.org/aff_l" method="post">
<input name="offer_id" value="462" type="text" />
<input name="adv_sub" value="order1" type="text"/>
<input name="redirect" value="http://www.hasoffers.com/wiki/Application_Support:Offer_Tracking" type="text"/>
<input type="submit" />
</form>

Conversion POST Requests with Encrypted URL

You can also do a POST request to a conversion URL that is encrypted. The difference is the action URL includes the hashed value. Any values in the query string can still be appended as form values.

The example below is submits a post request for this tracking link: http://demo.go2jump.org/SH1?aff_sub=id1

<form action="http://demo.go2jump.org/SL8X" method="post">
<input name="adv_sub" value="order1" type="text"/>
<input name="redirect" value="http://www.hasoffers.com/wiki/Application_Support:Offer_Tracking" type="text"/>
<input type="submit" />
</form>

Conversion URL Redirects

By default the conversion URLs don't redirect any where after conversion. They just load a page with the results of tracking the conversion. However, you can set either a redirect parameter to redirect the user to after the conversion is tracked. You can use the redirect parameter for non-encoded URLs and eredirect for encoded URLs.

The example below redirect a user to this encoded URL after the conversion is tracked: http%3A%2F%2Fwww.hasoffers.com%2Fwiki%2FApplication_Support%3AOffer_Tracking

<form action="http://demo.go2jump.org/aff_l" method="post">
<input name="offer_id" value="462" type="text" />
<input name="adv_sub" value="order1" type="text" />
<input name="eredirect" value="http%3A%2F%2Fwww.hasoffers.com%2Fwiki%2FApplication_Support%3AOffer_Tracking" type="text" />
<input type="submit" />
</form>

Add Third-Party Affiliate Pixels and URLs

If the affiliate wants to track conversions in a third-party tracking system, you must add a third-party tracking pixel / URL. Run your cursor over the “Offers” tab and select "Affiliate Pixels". In the upper right corner of the Affiliate Conversion Pixels table, select "Add Conversion Pixel”. Select the affiliate and offer you wish to track, then enter the third-party code into the text field and select "Add." You may also add a conversion pixel by selecting an offer name from the “Manage Offers” page and entering the information in the “Add Conversion Pixels for Affiliates” section.

For offers that use iFrame Pixel tracking, affiliates can place third-party iFrame, image and/or JavaScript tracking code. For offers that use Image Pixel or Server Postback tracking, affiliates can place third-party Postback URLs. Affiliates’ pixels and/or URLs will be requested each time the HasOffers platform tracks a conversion for your network.

The ad server will dynamically replace the following variables in Pixel code or URLs:

  • {aff_sub} for affiliate sub ID
  • {source} for affiliate source name
  • {payout} for affiliate’s offer payout
  • {offer_id} for the offer ID of the offer
  • {transaction_id} for transaction ID of the record
  • {ran} for a random number
  • {sale_amount} for the amount of the sale
  • {currency} for the offer's currency abbreviated

You can place multiple third-party pixel code or URLs for each affiliate on an offer and all will be requested on conversion.

Testing Third-Party Affiliate Pixels and URLs

To test third-party affiliate pixels and URLs, hover over the Affiliates tab and select Affiliate Pixels / URLs. Select the third-party affiliate pixel or URL you would like to test by clicking the corresponding Test link located in the Code column of the table. This is useful in guaranteeing that the third-party affiliate pixels / URLs are working properly.

If the affiliates tracking system uses client-based tracking with cookies, you will need to request your affiliate’s third-party tracking link. Then click on the affiliate’s third-party tracking link to set a cookie and then click on the Test link from the interface to load their affiliate pixel. This should create a click and conversion in your network along with the affiliate’s third-party system.

Track Offers from Other Networks

Loading offers from other networks into your network is simple. Start by logging into the other network and generated a tracking link for the offer (third-party tracking link). Then create a new offer in your network. Specify the offer information including payout. The amount the other network pays you is your revenue. It is best to set the default payout for the offer you are creating in your network to 80% of your revenue. Then input the third-party tracking link as the offer URL for your new offer. If the network requires additional information in your third-party tracking links, you can include variables in the offer URL. When done, click Add Offer to create it on your network. You will then need to place the offer tracking pixel or postback URL with the other network. Most network systems have an interface where you can add your own tracking code. If not, contact your account manager to have them place the tracking pixel / postback URL for your offer in their system.

The diagram below illustrates this process of setting up offers to track in your network from another network. Your affiliates advertise your offers and one of the visitors clicks on a tracking link. The HasOffers platform records a click and sets cookies, and then forwards the users to the offer URL you specified. The offer URL is an affiliate link for the other network and they record a click and forward the user to the actual advertiser’s offer landing page. The user buys a product and after the sale is completed the advertiser displays the other network’s tracking pixel for the offer. The other network’s tracking pixel then loads yours tracking pixel. When your tracking pixel is loaded, the HasOffers platform tracks a conversion for the offer in your network. Stats on your network show which affiliate generated the conversion and compensates him accordingly.

Reference IDs in Click Links and Impression Pixels

You can include affiliate and offer reference IDs in ad server click links and impressions pixels. Instead of having the ad server respond to requests based on a HasOffers affilaite ID or HasOffers offer ID, you can use reference IDs instead. This is used when you want to use your HasOffers affiliate network with another system or you are migrating to HasOffers. Before you can have the ad server use affilaite or offer reference IDs you need to update the affiliates and offers in your HasOffers affiliate network to have reference IDs. For affiliates, when viewing an affilaite click edit on the Details panel and specify an affiliate reference ID. For offers, when viewing an offer click edit on the Details panel and specify an offer reference ID. Once you have specified the reference IDs you can have the ad server respond based on them. However, if you try to use a reference ID for an affiliate or offer that doe not exist, the ad server won't respond to the request.

If you have an affiliate in a legacy system with an ID of CD101 and have imported the affiliate into HasOffers with the affiliate reference ID set to CD101, you can generate tracking links by specifying aff_ref in the tracking link. So instead of specifying the HasOffers affiliate ID in tracking links, you can specify the reference ID and the ad server will lockup the affiliate by the reference ID and respond to the request. Below is an example of specifying an affiliate reference ID and instead of an affiliate ID. Notice how aff_id has been replaced by aff_ref.

http://demo.go2jump.org/aff_c?offer_id=1&aff_ref=CD101

If you have imported offers with reference IDs as well you can have the ad server respond to requests with the offer reference ID instead of the HasOffers offer ID. The example link below assumes that CXDF is the offer reference ID and instead of specifying a HasOffers affiliate ID uses an affiliate reference ID.

http://demo.go2jump.org/aff_c?offer_ref=CXDF&aff_ref=CD101

Reference IDs allow you to create custom tracking links based on values you decide. You can even generate these tracking links dynamically by inserting an affilaite reference ID or offer reference ID on-the-fly.

Mobile App Postback

The issue with standard conversion tracking using pixels or postback URLs is that users are directed to a marketplace in which tracking can not continue. Cookie-based tracking with pixels can not be used because users are directed from a mobile browser, to a marketplace to download the application, and then the user installs the application. However, the application can not read the cookies set in the mobile browser which is why cookie tracking won't work. Standard cookieless tracking methods utilizing postback URLs would seam like an appropriate solution. However, when a user a directed to a marketplace to download the application, a tracking token (transaction ID / click ID) can not be passed to the marketplace and onto the application. Since the application can't receive a tracking token that was created in the mobile browser, it can't load a postback URL to record the conversion.

Implementation

To start tracking mobile application installs you will need to enable the preference. From the Company tab select Customize Application. Then select Tracking Settings and enable the preference for Mobile App Postback. Once enabled, you can create offers with this conversion tracking protocol or updated old ones to use it.

You should create a unique offer for affiliates to promote specifically on mobile devices. Mobile App Postback should only be used to record installs of mobile applications generated from mobile traffic. This is a strictly tracking method for mobile devices. Tracking links for this tracking method will function the same for affiliates.

The Mobile App Postback URL will need to be embedded into the application. The developer of the application will need to create code to request the URL of the Mobile App Postback. The application should only request the URL once upon install and never request it again else duplicate conversions could be recorded.

What's a Device ID

Its recommended to include the user's device ID in the Mobile App Postback URL. Including a device ID enhances tracking accuracy by associating a conversion to the unique identifier for the user's mobile device. The developer should include it in the request as it is not always available in the user's headers. This value can be an ESN, IMEI or MEID from the mobile device. Simply append the device_id variable followed by the value onto the end of the URL.

  • IMEI numbers either come in a 17 digit or 15 digit sequences of numbers. The IMEI format currently utilized is AA-BBBBBB-CCCCCC-D
  • An MEID is 56 bits long (14 hex digits). It consists of three fields, including an 8-bit regional code (RR), a 24-bit manufacturer code, and a 24-bit manufacturer-assigned serial number.
  • ESNs are often represented as 11 digit decimal numbers or 8 digit hexadecimal numbers.
  • CDMA-based standards do not include any removable card, and the service is bound to a unique identifier contained in the handset itself.

Device ID unknown

If device ID is not known, then the ad servers track the conversion to the best of its ability based on the user's IP and user agent.

Tracking link: http://demo.go2jump.org/aff_c?offer_id=219&aff_id=1

Postback URL: http://demo.go2jump.org/aff_m?offer_id=219

Device ID known on Conversion

Since the postback URL is usually integrated into the application, its easier to have access to the device ID on conversion. If the device ID is known on conversion, the ad servers use the user's IP and user agent in combination with device ID to prevent duplicate conversions.

Tracking link: http://demo.go2jump.org/aff_c?offer_id=219&aff_id=1

Postback URL with Device ID: http://demo.go2jump.org/aff_lm?offer_id=219&device_id=AA-BBBBBB-CCCCCC-D

If the postback URL is not being loaded from the application on the user's mobile device and instead from another location, then include the IP address of the user's mobile device. Conversions will be recorded by associating the corresponding session information based on their IP. If the IP from the session (created on click) doesn't match the IP on conversion, then a conversion will not be recorded. So you can include the user's mobile IP in the postback URL so that they'll match and a conversion can be recorded.

Tracking link: http://demo.go2jump.org/aff_c?offer_id=219&aff_id=1

Mobile App Postback URL with Device ID and Mobile IP: http://demo.go2jump.org/aff_lm?offer_id=125&device_id=AA-BBBBBB-CCCCCC-D&mobile_IP=123.123.123.101

Device ID known on Clicks and Conversion

The most accurate way to track mobile application installs is with specifying the user's device ID on click and on conversion. The ad servers take the device ID with offer ID to track and record conversions.

Tracking link with Device ID: http://demo.go2jump.org/aff_c?offer_id=113&aff_id=43&device_id=AA-BBBBBB-CCCCCC-D

Postback URL with Device ID: http://demo.go2jump.org/aff_m?offer_id=113&device_id=AA-BBBBBB-CCCCCC-D

Support Questions

 
Email this page to a friend or co-worker