Click ID and SubID: What They Are and How to Match a Click to a Conversion

A click ID is the unique number of a single click; a SubID is a label you tag traffic with. The first lets a conversion find its click, the second tells you which part of your funnel is working.

Tracking and Analytics10 min read
Click ID and SubID: What They Are and How to Match a Click to a Conversion
Contents
  1. What is a click ID
  2. What is a SubID
  3. How a click ID makes the round trip
  4. Common click ID and SubID mistakes
  5. How many SubIDs you need and how to name them
  6. How to check that the click ID reaches the network
  7. Click IDs in complex chains
  8. Click ID and SubID in ArtisanClo
  9. The short version

Anyone who has ever reconciled tracker stats against an affiliate network has hit the same question: which click did this lead come from? Two things answer it: the click ID and the SubID. They get mixed up all the time, even though they do very different jobs. Let's sort them out.

What is a click ID

A click ID (clickid, click identifier) is the unique identifier of a single click on an ad link. It is generated by whichever system the click passed through: a tracker, a cloaker, an ad platform. The number means nothing on its own, but it lets you find the record of the click with every detail: time, IP, country, device, campaign, cost.

One click can carry several IDs from different systems at once:

Whose ID Example parameter Issued by Needed by
Ad platform fbclid, gclid, ttclid Facebook, Google, TikTok The platform, for attribution and optimization
Tracker click_id, subid, cid Your tracker The tracker, to accept the postback
Affiliate network transaction_id, aff_click_id The CPA network The network, for its own accounting

Confusion starts when one system's ID ends up in another. The rule is simple: send your tracker's click ID to the affiliate network, and keep the platform's ID in the tracker so you can later send the conversion back to the ad account. Platform IDs are covered in detail in fbclid, gclid, ttclid, yclid: what these URL parameters are.

What is a SubID

A SubID is an extra label you tag your traffic with. It is not unique: every click from the same creative will have the same sub2=creo_14. A SubID's job is to slice your stats into meaningful parts of the funnel.

What usually goes into SubIDs:

  • the creative's number or name;
  • the audience or ad set;
  • the placement (zone, site), especially in native and push;
  • the buyer's name in a team;
  • the landing or pre-lander version;
  • the search keyword.

An ad link with SubIDs:

https://example.com/?sub1={{campaign.id}}&sub2={{ad.id}}&sub3={{placement}}&sub4=buyer_anna

The values in double curly braces are Facebook macros, and Facebook fills them in. Macros on other platforms are covered in the article on UTM parameters and macros.

The double role of sub1 at the network

Affiliate networks call SubIDs the parameters they accept in the offer link and return in the postback: sub1…sub5, aff_sub, s1. You give one of these slots to your tracker's click ID so the postback can find the click. The others can carry your labels, so you see the breakdown right in the network's stats.

How a click ID makes the round trip

Here is the path of a click number through a "platform → tracker → offer → network → tracker" setup:

1. Ad click:
   https://example.com/?fbclid=IwAR0xYz&sub2=creo_14

2. The tracker logs the click and assigns it ID 8f3a1c27.

3. The visitor goes to the offer with the ID in sub1:
   https://network.example.com/click?offer=55&sub1=8f3a1c27&sub2=creo_14

4. The network records a lead and fires a postback:
   https://tracker.example/postback?click_id=8f3a1c27&status=pending

5. The tracker finds click 8f3a1c27: creative creo_14, fbclid IwAR0xYz.

Step 3 is the weakest link. If there is another system between the tracker and the offer (a cloaker, a second tracker, a pre-lander), each of them has to pass the ID along. How the postback in step 4 works is explained in Postback URL and S2S tracking.

Cloaker plus an external tracker

When a cloaker sits in front of your tracker, a click gets two IDs: the cloaker's and the tracker's. For the conversion to reach both, the cloaker's ID is passed to the tracker in a separate parameter (often called external_id), and when the tracker gets the network's postback, it forwards it to the cloaker with that ID. That is how conversions and CR show up in the cloaker's stats.

Common click ID and SubID mistakes

A literal macro in the link. Instead of a value, the log shows sub1={click_id} or {{ad.id}}. The macro was not substituted: a typo, the wrong syntax for that platform, or the link was opened outside the ad.

The click ID went into a parameter the network does not return. A network may accept five sub parameters but return only some of them in the postback. Find out exactly which macros are available in the postback.

One SubID for everything. sub1=fb_nutra_de_creo14_anna looks handy until you need a report on all of Anna's creatives. Put each meaning into its own parameter.

Spaces, non-Latin characters and special symbols. sub3=Creative 14 turns into an unreadable string after URL encoding and sometimes breaks the link. Stick to Latin letters, digits, hyphens and underscores.

Labels overwritten on redirects. Some redirect chains drop parameters. Check the final offer URL, not just the ad link.

How many SubIDs you need and how to name them

There is no right number, but it helps to agree on a scheme within the team and stick to it:

Label What goes in Example
sub1 Platform campaign ID {{campaign.id}}
sub2 Ad (creative) ID {{ad.id}}
sub3 Placement {{placement}}
sub4 Buyer anna
sub5 Landing version v3

Think separately about which labels you need for decisions and which are "just in case". Every label should answer a question that makes you switch something on or off: creative, to kill the weak one; placement, to exclude the junk; buyer, to compare the team's work. A label you have not built a single report on in a month only makes the link longer.

One more rule: do not put the tracker's click ID into a SubID for reports. It is unique to every visit, so slicing by it gives you as many rows as there were clicks, which tells you nothing. To find a specific click, use the click log.

Tip. Keep one shared sheet in the team that defines every label. Six months from now nobody will remember that sub7 used to be the "angle" and not the "age".

How to check that the click ID reaches the network

The check takes five minutes and heads off most future "where did my leads go" questions.

  1. Open the ad link the way a visitor would, with the platform's parameters. You can add test values by hand: ?sub2=test_creo&fbclid=test123.
  2. Find the visit in the tracker's click log and note its ID.
  3. Look at the final URL in the address bar on the offer page or in the browser's developer tools. The right parameter (sub1, aff_sub, click_id) must contain exactly that ID.
  4. Submit a test lead if the network allows it, or ask your network manager to send a test postback with your ID.
  5. Make sure the conversion is attached to the right click and the SubID labels show up in the report.

Tip. Test every new offer, even with a network you know. Different offers from the same network sometimes take the click ID in different parameters, especially if the offer runs through the advertiser's own tracker.

Click IDs in complex chains

The more links between the ad and the offer, the more places where the ID can get lost.

Pre-lander

If the visitor lands on a pre-lander first and then clicks a "Continue" button, the click ID has to be in that button's link. Usually the tracker builds it, and then the ID is filled in automatically. If the link is hardcoded in the pre-lander's HTML, the ID is easy to forget. How a tracker splits traffic between several pre-landers and offers is covered in the article on the link rotator.

Several offers in one flow

In a split test, different offers may lead to different networks with different parameter names. Check each offer link separately: "click ID in sub1" for one network does not mean the same for another. How a split works is explained in split testing offers and landing pages.

Two trackers in a row

If traffic passes through two trackers, the first one's ID has to be passed into the second, and the second has to return it in its postback. Otherwise the first tracker never learns about the conversion.

Click ID and SubID in ArtisanClo

In ArtisanClo every visit has its own click number, the {click_id} macro. You can put it into any parameter of the offer link: in the "Offer link parameters" block, the "Set" action fills in a value, for example aff_id = {click_id}. In the same place you can rename a platform label (fbclid → sub1) or remove one you do not need (utm_source) so it does not go to the network. An example from the documentation: the visitor arrived at:

https://example.com/?fbclid=IwAR123&utm_source=facebook&utm_campaign=nutra_de

Flow rules: rename fbclid → sub1, set aff_id = {click_id}, remove utm_source. The offer receives:

https://network.example.com/click?offer=55&utm_campaign=nutra_de&sub1=IwAR123&aff_id=C-01JB8Q3Z7XKP4M2R9TVN6WDY5H

The rules apply top to bottom, and only the offer and the pre-lander see them: in the click log and on the White Page the labels stay exactly as they arrived, because a renamed fbclid on the White Page would be a giveaway.

Other visit macros are available for values too: {flow_id}, {geo}, {city}, {device}, {os}, {browser}, {isp}, {ext_click_id} for an external click ID, {cost} for the click cost, and {sub1}…{sub10} for the flow's labels.

SubIDs in ArtisanClo are set at the "Tracker" step in the "Campaign labels" block (modes with a tracker): "Sub ID N" rows with a "key = value" pair, for example sub1 = {sub_id_1}. Your plan does not limit the number of labels. Labels sub1–sub10 are available in the "Money by slice" table, the rest in the report builder.

When you choose an affiliate network for an offer, the dashboard shows the "Parameter for the offer address": through it the network receives the click number and returns it in the postback. If you do not add the parameter, it is appended automatically when you save the flow.

If ArtisanClo works as a cloaker in front of your own tracker, you select an external tracker at the "Tracker" step, and the dashboard shows a parameter like external_id={click_id}. The field turns green if the parameter is already in the offer link and red if it is not; the "Add to the link" button appends it to every offer. The "How click_id makes the round trip" diagram shows the whole path. What this looks like with specific trackers is covered in Keitaro with a cloaker and Binom with a cloaker, and the list of supported trackers is on the tracker integrations page.

The short version

The click ID answers "which click is this", the SubID answers "which part of the funnel does it belong to". Send your tracker's click ID to the network, put each meaning into its own label, and check the final offer URL on a real click. Once the tagging is in place, reports by creative, placement and buyer build themselves; which numbers to read in them is covered in the article on affiliate marketing metrics.

Frequently asked questions

01

What is the difference between a click ID and a SubID?

A click ID is unique to every visit: no two clicks ever share one. A SubID is a group label, such as a creative number or a buyer's name, and it is the same for every click in that group. The click ID is for attributing conversions, the SubID is for reports.

02

How many SubIDs can I pass to an affiliate network?

It depends on the network: usually five to ten parameters such as sub1–sub5 or aff_sub1–aff_sub5. Reserve one of them for your tracker's click ID and use the rest for your own labels if you want to see them in the network's stats.

03

Can I pass fbclid to the network instead of my own click ID?

Technically yes, but then the postback returns the fbclid and your tracker has to be able to look up the click by it. It is more reliable to pass your tracker's click number: it is short, unique and always known to the tracker. If you need the platform's ID too, pass it in a separate parameter.

04

Why does my postback contain {sub1} instead of a value?

The network had no value to substitute, or, more often, the macro in the postback is wrong for that network. Check the macro name against the network's documentation and make sure the parameter in the offer link really carries the click number.

05

Is a sub ID the same as a SubID or sub1?

Yes. Sub ID, SubID and subid are spellings of the same thing. People also use it loosely for the sub1 parameter itself, the slot that carries the click number to the affiliate network.

Read next

See your traffic for real

Connect ArtisanClo to your site, see who actually arrives from your ads, and why every click got its decision.