All major advertising platforms are using click ID identifiers to be able to attribute events or conversions to correct ads. But how does it work?

According to the official definition from Google, GCLID is:

the same definition can be applied to other advertising platforms as well.

Here is the list of click id names for most popular advertising platforms:

Name
Param name
Platform
Facebook click id
fbclid
Facebook / meta
Google click id
gclid
Google
TikTok click id
ttclid
TikTok
Microsoft click id
MSCLKID
Bing / Microsoft

How does fbclid (or any other clickid) works?

As explained in the Google definition, every time when user click on the ad, new click id is generated. When this click id is sent back to the advertising platform via client or S2S ( server to server) pixel, it is used to attribute conversion or event to the correct ad.

If you take a look in your campaign (or ad ) report, the conversion numbers you see are exactly based on click ids. This also means if you do not send click id back to the advertising platform, conversion will not be attributed and you will not see it in your campaign report.

However, in FB or TikTok (and some others) in the pixel reports, you will see that your pixel is fired. Actually you will see total number of events per pixel, which is usually higher of number of attributed events in campaign report - only in case if you are firing pixel or S2S pixel as a  remarketing pixel.

How these clickids are sent back to advertising platform

There three ways to send it back to advertising platform:

  • client pixel
  • server pixel (S2S), also known in facebook terms as Conversion API - CAPI
  • file uploads

How it is sent it via client pixel?

Just implement any of the client pixel (JavaScript pixel), meaning for any of the advertising platforms and client pixel will do it by itself. However, in this case, client pixels are storing the clickid value in the cookie (first party). Since cookies can be deleted or blocked by ad blockers, this is not most reliable method of tracking (measuring).

How it is sent via S2S (server side) pixel?

In this case is little bit more complicated, and it does require help of your developers.

As explained FBCLID. GCLID, TTCLID... are generated when user click on the ad on any of those platforms and it is appended to the final URL which leads to your (landing) page. When user lands on your page with fbclid (or any other) you have to store on your side and send it with every S2S pixel firing, If the user make a purchase, you have to be able to read this click ID and send it with S2S request.

How it is sent with file uploads?

Similar to S2S solution, you will still have to store clickid value and send it back to advertising platform, but in this case you will not use S2S request - but file uploads. 

Information provided with click id is also useful when it comes to matching the user,  and it can help with creating audiences (similar audiences) based on your user activity.

You will notice, in most of the advertising platforms, only logged-in users are getting click ids.

This also means, if no click ID is present, all of the marketing platforms have difficulties matching the user who triggered the event (clicked on the ad). Therefore they will ask you to implement Advanced matching, when your pixel (client or S2S) is fired.

Google is a little bit smarter when it comes to clickIDs, they have couple of different ones:

Name
param
explanation
Google click id
gclid
click on the ad
Campaign Manager ID
dclid
click on the ad
WBRAID
wbraid
app to web measurement
GBRAID
gbraid
app to app measurement

Other params that can help with matching conversions

When using S2S pixel, or combination of client and S2S pixel, another two very important params are 

event id - unique value per event, needs to be the same  for client and S2S pixel

external id - representing the user, could be any value that is unique for that specific user (should not be your user id, or any other other personal identifier). This is used to help marketing platforms to understand that events are done by the same user - but they will not know what user is that.

More info about the params that can help identify the user  (and risks that comes with it) you can find here: