About Transaction IDs

Last Modified November 26, 2018|
Originally Posted May 23, 2014

Transaction IDs are identifiers that HasOffers uses to identify which conversions are connected to which clicks, thus knowing which affiliate deserves credit for the conversion and which offer configurations successfully lead to conversions. We introduced this concept in our Basics of Tracking with HasOffers article as a way to identify sessions.

HasOffers records these transaction IDs on both sides of the click-conversion dynamic, meaning accidental click or conversion duplications are weeded out. Understanding a little bit about transaction IDs will help you better understand your click and conversion reports, as well as help you diagnose any issues that come up with conversion inconsistencies.

Transaction IDs Defined

Transaction IDs are generated for each click based on a series of information, allowing HasOffers to track duplicate clicks (a.k.a “gross clicks”) on the same offer from the same user or IP address. Duplicate clicks are a common concern in affiliate market, and transaction IDs are your tool for mitigating that problem.

A transaction ID is a series of letters and numbers—an “alphanumeric string” in technical terms—that’s 10 to 30 characters long. Each one is generated based on the user’s location, the current date, and the offer ID. Some example transaction IDs are 10220766184662150818 and 102656693ac3ca6e0cdafbfe89ab99. This ID is generated based on the user’s location, the current date, and the offer ID they clicked on.

Transaction IDs in Action

HasOffers creates and uses transaction IDs as so for clicks and conversions. Depending on whether the offer uses pixel-based and server postback conversions, HasOffers uses a slightly different process.

Pixel-Based

The following happens when a pixel-based offer is clicked on.

User clicks on an offer and is directed to our ad server.

HasOffers records that click, including the affiliate’s ID and a generated transaction ID.

HasOffers places a cookie containing that transaction ID in the user’s browser, then forwards the user to the advertiser’s offer URL.

If the user converts, the following happens.

Advertiser’s offer completion site includes the conversion pixel.

When the pixel loads, HasOffers receives the transaction ID from the cookie in the user’s browser

HasOffers records the conversion with that transaction ID.

Server Postback

The following happens when a postback offer is clicked on.

User clicks on an offer and is directed to our ad server.

HasOffers records that click, including the affiliate’s ID and a generated transaction ID.

HasOffers then forwards the user to the advertiser’s offer URL, including the transaction ID as part of the URL.

If the user converts, the following happens.

Advertiser’s offer completion site fires a postback to HasOffers, including the transaction ID.

HasOffers records the conversion with that transaction ID.

On Invalid Clicks

If a click is invalid, such as for an offer from an affiliate not permitted to run that offer, no transaction ID is generated.

Auto-Deduplication

Here’s an example of how HasOffers automatically deduplicates with an offer using server postback.

A user clicks on an offer.

HasOffers generates a transaction ID of 102656693ac3ca6e0cdafbfe89aa99 based on the user’s location, current date, and offer ID.

HasOffers forwards the user to the offer with the transaction ID in the offer URL.

The user closes the offer.

Ten minutes later, the user changes their mind and clicks on the offer again.

Because the date, IP address, and offer ID are all the same as on the last click, the transaction ID is also the same: 102656693ac3ca6e0cdafbfe89aa99. HasOffers sends the user to the offer again, with this same transaction ID in the offer URL.

The second click isn’t recorded as such. If a user converts an on offer twice, similar automatic deduplication occurs.

Transaction IDs & Diagnosing Discrepancies

Transaction IDs can help networks diagnose discrepancies between their click and conversion reports and those of their affiliates and advertisers. If your advertiser is reporting a different number of conversions that you have recorded, and they’re using server postback method of conversion tracking, you can compare the transaction IDs in your conversion report and those in their conversion reports. Likewise, you can compare those IDs in click reports between you and your affiliates, though for any method of conversion tracking.

On Not Using Transaction IDs

There’s one method of tracking that doesn’t use transaction IDs: server postback with affiliate ID. Nothing in this article applies to that form of postback, and that conversion method does not have the stability of transaction IDs, and your reports will not show any transaction IDs.

Technical Details

Some software developers hired by a network to interface with our API find it useful to know the details about how transaction IDs are generated. Two networks settings cover how transactions IDs behave: Alphanumeric Transaction IDs and Transaction ID Value. Both of these are located in Tracking Settings.

Alphanumeric Transaction ID Setting

Some common applications like Microsoft Excel rounds numbers longer than 10 digits, making it impossible to use those tools for to review your logs. For this reason, we offer a feature to make your transaction IDs alphanumeric—letters and numbers mixed together—so those programs treat transaction IDs like text and not round them.

This feature is enabled by default, but it can be disabled to cover the rare cases advertisers this feature doesn’t work with a given advertiser.

When this setting is enabled, the transaction ID value (as described below) is hashed to create a 30-character transaction ID. When disabled, the transaction ID value is returned without being hashed, truncated to the first 30 characters.

Transaction ID Value Setting

The three options for Transaction ID Value cover how your network generates the transaction ID.

IP Address / Date / Offer ID / User Agent: HasOffers uses the user’s IP address, along with the date and the offer ID. This is the default option and best practice, as it causes a separate transaction ID for clicks for two different offers from the same computer as well as clicks on the same offer on different days. If Alphanumeric Transaction IDs is enabled, this option also includes the user’s browser (a.k.a. “user agent”), allowing deduplication of multiple mobile devices tapping on the same offer from the same IP.

IP Address / Date: HasOffers uses the user’s IP address and the current date. This method is outdated, as it doesn’t support deduplication as well. It can’t differentiate between users clicking on multiple offers from the same network on the same day, nor handle multiple users on a single wireless hub clicking on any offer from the same network.

Random Number: HasOffers generates a random number at least 16 digits long. This method is outdated, but still supported for clients who desire to use it. It doesn’t support deduplication whatsoever, as each click event has its own idea.

Transaction ID Length

The maximum length of a HasOffers transaction ID is 30 characters. Any transaction IDs generated by HasOffers are truncated to the first 30 characters. Alphanumeric transaction IDs are always 30 characters long; networks that disable that feature may have transaction IDs as short as 10 characters in length.

Thanks for reply!
I have 2 questions.
1.I mean to say that if i am an affiliate at any network and running a campaign can i get the all url number of each click?
2.If i use hasoffers can i set up postback url num in affiliate network with which i am working and get all the landing page url number?

Thanks for reply!
I have 2 questions.
1.I mean to say that if i am an affiliate at any network and running a campaign can i get the all url number of each click?
2.If i use hasoffers can i set up postback url num in affiliate network with which i am working and get all the landing page url number?