NEWASK is live: the AI brain that answers anything about your business.Meet ASK →
Blog/Attribution Glossary
Guides

Messaging Ad Attribution Glossary

7 day free trialNo credit card requiredSet up in 5 minutes
Direct answer

This glossary defines the identifiers, parameters and time limits that decide whether a messaging ad conversion can be measured: click identifiers such as fbclid, gclid, ttclid and ctwa_clid, the server-side APIs that accept them, and the windows inside which they must be delivered. Every entry cites the vendor documentation it comes from.

Twenty-nine terms, defined from primary vendor documentation and checked on 14 August 2026. Each entry gives a one-sentence definition first, then the detail that actually matters when you implement it, then the source. Where a vendor documents nothing, the entry says so rather than substituting a number from somewhere else.

action_source · Aggregated Event Measurement (AEM) · Attribution window · base64url · Bot API · Conversions API (CAPI) · Conversion window · ctwa_clid · Deduplication · Deep link · Enhanced conversions · event_id · event_time · Events API (TikTok) · fbclid · _fbc · _fbp · gbraid and wbraid · gclid · ig_sid (IGSID) · Invite link (Telegram) · messaging_channel · Postback (server-to-server, S2S) · page_scoped_user_id (PSID) · referral object · ref · start parameter · ttclid · Upload window

action_source

A required Conversions API field that tells Meta where a conversion physically happened.

Meta lists nine permitted values: email, website, app, phone_call, chat, physical_store, system_generated, business_messaging and other. Two matter for messaging funnels. chat is defined as "Conversion was made via a messaging app, SMS, or online messaging feature." business_messaging is defined as "Conversion was made from ads that click to Messenger, Instagram or WhatsApp."

Meta attaches an accuracy obligation to the field: "By using the Conversions API, you agree that the action_source parameter is accurate to the best of your knowledge." Labelling a Telegram sale as a website conversion is therefore both a data problem and a terms problem.

Source: Meta, Server Event Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Feb 12, 2026". Checked 14 August 2026.

Aggregated Event Measurement (AEM)

Meta's privacy-protective protocol for measuring web and app events from people on iOS 14.5 and later.

Meta describes it as "a protocol that allows for the measurement of web and app events from people using iOS 14 and later devices" whose processing "includes privacy protective measures like removing identifiers, adding differential privacy, and aggregating the data across users".

The widely repeated requirement to prioritise eight conversion events per domain no longer applies. Meta now states: "You no longer need to prioritize 8 conversion events per domain for web conversion optimization", and "The Aggregated Event Measurement tab in Meta Events Manager has been removed because you no longer need to configure your web events." Meta also notes that "Events sent to Meta via the Conversions API may also be processed in accordance with limits set by Aggregated Event Measurement."

Source: Meta Business Help Centre, About Meta's Aggregated Event Measurement. facebook.com/business/help/721422165168355. Business Help Centre articles display no update date. Checked 14 August 2026.

Attribution window

The period after an ad interaction during which a platform will credit a conversion to that ad.

Meta's current settings are: "Click-through: Counts events that occurred within 1-day or 7-day after a link click on your ad", "View-through: Counts events that occurred within 1-day after an impression of your ad", and "Engage-through: Counts events that occurred within 1-day after a non-link click action on your ad."

An attribution window is not the same thing as an upload window. Google's default click-through attribution window is 30 days while Meta's Conversions API upload window is 7 days from the event. The two clocks are set in different places and both have to be satisfied.

Source: Meta Business Help Centre, About attribution models and attribution settings. facebook.com/business/help/460276478298895. Business Help Centre articles display no update date. Checked 14 August 2026.

base64url

A binary-to-text encoding using A-Z, a-z, 0-9, hyphen and underscore, designed to be safe inside URLs.

It differs from standard base64 in exactly two characters: hyphen replaces plus, and underscore replaces slash. That matters because Telegram's start parameter permits "A-Z, a-z, 0-9, _ and -" and nothing else, which is the base64url alphabet precisely. Telegram states: "We recommend using base64url to encode parameters with binary and other types of content."

Six bits per character, so 64 characters carry at most 48 bytes. A 128 bit random token costs 22 characters unpadded.

Source: Telegram, Bot Features, Deep Linking. core.telegram.org/bots/features#deep-linking. Checked 14 August 2026.

Bot API

Telegram's HTTP interface for bots, and the only documented way to observe activity inside a Telegram chat programmatically.

It exposes the start parameter handoff, the chat_member join update, invite link creation and join requests. It deliberately does not expose a method that lists ordinary chat members: getChatAdministrators returns administrators only, and getChatMember answers for one user ID at a time.

The version documented at time of writing was Bot API 10.2, dated 14 July 2026. Telegram publishes a dated changelog, so the version a page describes is checkable.

Source: Telegram, Bot API. core.telegram.org/bots/api. Bot API 10.2, dated 14 July 2026. Checked 14 August 2026.

Conversions API (CAPI)

Meta's server-to-server interface for sending conversion events directly from your systems rather than from a browser.

It accepts an event with a name, a timestamp, an action source and a user_data object containing identifiers. It is the only route by which a conversion that happened inside WhatsApp, Messenger, Instagram Direct or Telegram can reach Meta, because no pixel runs in any of those places.

It has hard constraints that the pixel does not. The event_time may be at most seven days old, and Meta rejects the entire request if one event breaches that.

Source: Meta, Server Event Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Feb 12, 2026". Checked 14 August 2026.

Conversion window

Google Ads terminology for its attribution window settings.

Google states: "If you don't customize the click-through conversion window when you create a new conversion, the default window is 30 days", with a view-through default of 1 day and an engaged-view default of 3 days.

The overall range is "anywhere from 1 to 90 days, depending on the source of conversions", and Google adds that "windows of at least 7 days are recommended, because they provide a richer set of conversion data."

Source: Google Ads Help, About conversion windows. support.google.com/google-ads/answer/3123169. Google Ads Help articles display no update date. Checked 14 August 2026.

ctwa_clid

Meta's click-to-WhatsApp click identifier, delivered to the business on the first inbound message of an ad-initiated conversation.

Meta defines it as "a personal identifier, unique per click, that is exposed to the business when the user entering the conversation originated from a click to WhatsApp ad." In the webhook schema it is described simply as "Ad click ID."

It is sent back inside user_data and must not be hashed: Meta marks it "Do not hash." It is omitted entirely for messages originating from WhatsApp Status ad placements, and Meta publishes no validity period for it.

Source: Meta, Conversions API for Business Messaging. developers.facebook.com/documentation/ads-commerce/conversions-api/business.... Page shows "Updated: May 5, 2026". Checked 14 August 2026.

Deduplication

Preventing one real conversion from being counted twice when it is reported through two paths.

On the web path Meta reconciles a browser event and a server event by matching event_name and event_id: "If we find a match between events sent within 48 hours of each other, we only consider the first one. If a server and browser/app event arrive at approximately the same time (that is, within 5 minutes of each other), we favor the browser/app event."

On the business messaging path there is no such help. Meta states it "does not assist with deduplicating events for Conversions API for Business Messaging so we highly encourage advertisers to perform deduplication before sending them over Conversions API for Business Messaging."

Source: Meta, Server Event Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Feb 12, 2026". Checked 14 August 2026.

Deep link

A link that opens a specific place inside an application, optionally carrying a parameter the application receives on arrival.

Telegram's version is documented as "a deep linking mechanism that allows additional parameters to be passed to the bot on startup." Meta's Messenger equivalent is an m.me link with a ref attribute; Instagram's is an ig.me link.

In every case the parameter is chosen by you, not issued by the platform, and it is visible to anyone who sees the link. Treat it as public and put a reference in it, never personal data.

Source: Telegram, Bot Features, Deep Linking. core.telegram.org/bots/features#deep-linking. Checked 14 August 2026.

Enhanced conversions

Google's mechanism for matching conversions using hashed first-party customer data instead of, or alongside, a click identifier.

Google requires SHA-256 hashing of email address, phone number, first name, last name and street address, with normalisation applied first: "Remove leading and trailing whitespaces", "Convert the text to lowercase", and "Format phone numbers according to the E164 standard." Country, state, city and zip code must not be hashed.

Gmail addresses need extra normalisation before hashing: remove periods and any plus suffix from the username portion. Google warns that skipping this "will result in different hash values than Google expects for these domains, leading to missed matches." Uploads matched this way have a 63 day limit rather than 90.

Source: Google Ads API, Manage offline conversions. developers.google.com/google-ads/api/docs/conversions/upload-offline. Page shows "Last updated 2026-08-03 UTC". Checked 14 August 2026.

event_id

An advertiser-chosen unique string on a Meta event, used together with event_name to deduplicate against a browser event.

Meta describes it as "any unique string chosen by the advertiser" and notes that although marked optional it "is recommended for event deduplication". An order number or transaction ID is the natural choice.

The same value has to appear as eventID on the browser event and event_id on the server event, or Meta sees two conversions rather than one.

Source: Meta, Server Event Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Feb 12, 2026". Checked 14 August 2026.

event_time

The Unix timestamp in seconds at which a conversion actually occurred, required on every Meta Conversions API event.

Meta states: "The event_time can be up to 7 days before you send an event to Facebook. If any event_time in data is greater than 7 days in the past, we return an error for the entire request and process no events." It also requires that "You must send this date in GMT time zone."

Seconds, not milliseconds. A millisecond timestamp lands far in the future, so it slips past the seven day check and produces events that never reconcile.

Source: Meta, Server Event Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Feb 12, 2026". Checked 14 August 2026.

Events API (TikTok)

TikTok's server-side interface for reporting web, app, offline and CRM events.

The current endpoint accepts at most 1,000 events per request and is rate limited to 1,000 queries per second per advertiser account. TikTok's own recommendation is not to batch: "it is highly recommended to send a single event at a time, as soon as the event is received on the advertiser's server."

TikTok publishes a 28 day upload allowance for offline events and states it "will not match and report on offline events that occurred 90 days ago". It publishes no maximum event age for web events.

Source: TikTok, Events API 2.0. business-api.tiktok.com/portal/docs/events-api-2.0/v1.3. TikTok's developer portal displays no update date. Checked 14 August 2026.

fbclid

The click identifier Meta appends to a landing page URL when someone clicks a Facebook or Instagram ad.

Meta describes it as "a Meta-generated parameter that is passed with the URL of an advertiser's website when a user clicks an ad on Facebook and/or Instagram", and warns: "ClickID value is case sensitive - do not apply any modifications before using, such as lower or upper case."

It exists only in the URL of a page request you serve. An ad pointing directly at a chat link never produces such a request, so the identifier is never captured.

Source: Meta, ClickID and the fbp and fbc Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Jan 9, 2026". Checked 14 August 2026.

_fbc

The first-party browser cookie in which the Meta pixel stores a formatted click identifier.

Meta documents the format as version.subdomainIndex.creationTime.<fbclid>, where version is always fb, subdomainIndex indicates the cookie's domain ("'com' = 0, 'example.com' = 1, 'www.example.com' = 2"), and creationTime is "the UNIX time since epoch in milliseconds". Meta's example is fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890.

If no pixel runs on the page, Meta permits a server-generated equivalent, but only "if an fbclid query parameter is in the URL of the current page request". Meta's recommended cookie lifetime is 90 days. The value is sent to the Conversions API unhashed.

Source: Meta, ClickID and the fbp and fbc Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Jan 9, 2026". Checked 14 August 2026.

_fbp

The first-party browser cookie holding a Meta-generated browser identifier, distinct from any click.

Meta states: "When the Meta Pixel is installed on a website, and the Pixel uses first-party cookies, the Pixel automatically saves a unique identifier to an _fbp cookie for the website domain if one does not already exist." The format is version.subdomainIndex.creationTime.randomnumber.

It identifies a browser, not a person and not a click, and it has no meaning outside that browser. Sent unhashed.

Source: Meta, ClickID and the fbp and fbc Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Jan 9, 2026". Checked 14 August 2026.

gbraid and wbraid

Google URL parameters used in place of gclid for iOS traffic affected by App Tracking Transparency.

Google's Ads API documentation defines them as: "A gbraid is a URL parameter that is present when a user clicks on an ad on the web and is directed to your iOS app" and "A wbraid is a URL parameter that is present when a user clicks on an ad in an iOS app and is directed to your webpage."

Google's own help centre describes the two the other way around, presenting wbraid as the web measurement parameter and gbraid as the app one. We could not find a single Google page stating the direction unambiguously and consistently, so the API wording is quoted here and the discrepancy is flagged rather than resolved. Google also notes: "Google Ads does not support custom conversion variables in combination with wbraid or gbraid."

Source: Google Ads API, Manage offline conversions. developers.google.com/google-ads/api/docs/conversions/upload-offline. Page shows "Last updated 2026-08-03 UTC". Checked 14 August 2026.

gclid

Google's click identifier, appended to a landing page URL when auto-tagging is enabled.

Google describes GCLIDs as "identifiers that are captured from URL parameters when an individual clicks on your ad and navigates to your website".

It has a hard shelf life for offline uploads. Google states: "We retain the GCLID for only 90 days", and "You can upload any conversion with GCLID so long as it's no longer than 90 days." There is also a floor: Google recommends waiting 6 hours before uploading, because the click may not be processed yet.

Source: Google Ads Help, Offline conversion imports FAQs. support.google.com/google-ads/answer/10029210. Google Ads Help articles display no update date. Checked 14 August 2026.

ig_sid (IGSID)

The Instagram-scoped user ID identifying a person within a conversation with a specific business account.

Meta describes the Instagram-scoped ID as "an identifier that represents the user in a user<>business conversation", and the Conversions API parameter reference notes it "can be obtained from this webhook". It is sent unhashed.

It is not a click identifier. It says who the person is relative to your account and nothing about which ad brought them, which is why Instagram funnels need a ref parameter for person-level attribution.

Source: Meta, Customer Information Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Jan 9, 2026". Checked 14 August 2026.

Invite link (Telegram)

A Telegram link that admits a person to a channel or group, and the only route by which a channel join can carry attribution.

Created with createChatInviteLink, which accepts a name of "0-32 characters", an expire_date, a member_limit of "1-99999", and creates_join_request, with the note "If True, member_limit can't be specified."

The join event carries the link only in one case. Telegram describes the invite_link field on ChatMemberUpdated as the "Chat invite link, which was used by the user to join the chat; for joining by invite link events only". The Bot API exposes no cumulative usage count for a link.

Source: Telegram, Bot API. core.telegram.org/bots/api. Bot API 10.2, dated 14 July 2026. Checked 14 August 2026.

messaging_channel

The Conversions API field naming which Meta messaging surface a business_messaging conversion happened on.

Its documented values are whatsapp, messenger and instagram, and each pairs with different identifying fields in user_data: whatsapp_business_account_id plus ctwa_clid, page_id plus page_scoped_user_id, or instagram_business_account_id plus ig_sid.

Meta's FAQ adds one attribution note that applies to all three: "Attribution is based on the page/dataset id and is not related to the app id."

Source: Meta, Conversions API for Business Messaging. developers.facebook.com/documentation/ads-commerce/conversions-api/business.... Page shows "Updated: May 5, 2026". Checked 14 August 2026.

Postback (server-to-server, S2S)

A server-side HTTP call from one system to another reporting that a tracked event has occurred.

In affiliate and broker funnels the postback is how a registration, qualification or first deposit reaches the tracker, keyed on a click identifier the tracker issued earlier. It is the same idea as a conversions API call, with the vendor rather than the ad platform on the receiving end.

Because it is server to server, it is unaffected by ad blockers, cookie policy or the app boundary. Its reliability instead depends on the click identifier being stored correctly at the start of the chain.

page_scoped_user_id (PSID)

The Messenger identifier for a person relative to one specific Facebook page.

Meta's parameter reference describes it as the value that "Specifies the page-scoped user ID associated with the messenger bot that logs the event. Use the page-scoped user ID provided to your webhook." It is paired with page_id and sent unhashed.

Like IGSID it identifies a person, not a click. Two different pages receive two different PSIDs for the same human being.

Source: Meta, Customer Information Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Jan 9, 2026". Checked 14 August 2026.

referral object

The block Meta adds to an inbound message webhook when the conversation started from a click-to-message ad.

On WhatsApp it carries source_url, source_id ("Ad ID."), source_type, body, headline, media_type, media URLs, ctwa_clid ("Ad click ID.") and welcome_message. Meta labels the whole object "Only included if message via a Click to WhatsApp ad."

On Messenger and Instagram it carries source, type, ref, ad_id and an ads_context_data object, but no click identifier.

Source: Meta, WhatsApp incoming webhook payload reference. developers.facebook.com/documentation/business-messaging/whatsapp/reference.... Checked 14 August 2026.

ref

A value you attach to an m.me or ig.me link and receive back on the referral object.

Meta describes it as "The optional ref attribute set in the referrer. Only alphanumeric characters as well as -, _, and = are supported." That is base64url plus the padding character.

It is the Messenger and Instagram analogue of Telegram's start parameter: chosen by you, not issued by Meta, and only as unique as you make it. Minting one per visitor is what turns it from a campaign label into person-level attribution.

Source: Meta, Messenger Platform, messaging_referrals. developers.facebook.com/documentation/business-messaging/messenger-platform.... Page shows "Updated: Jul 1, 2025". Checked 14 August 2026.

start parameter

The value carried by a Telegram bot deep link and delivered to the bot when the conversation opens.

Telegram states: "A-Z, a-z, 0-9, _ and - are allowed. We recommend using base64url to encode parameters with binary and other types of content. The parameter can be up to 64 characters long." The bot receives it as message text in the form /start <value>.

Groups use startgroup and Mini Apps use startapp. Channels have no start parameter at all, which is why channel attribution uses per-visitor invite links instead.

Source: Telegram, Bot Features, Deep Linking. core.telegram.org/bots/features#deep-linking. Checked 14 August 2026.

ttclid

TikTok's click identifier, appended to a landing page URL when someone clicks a TikTok ad.

TikTok describes it as "a data connection parameter appended to a landing page URL whenever a user clicks on an ad on TikTok" and states: "The ttclid valid period is the same as your CTA window setting in Attribution Manager." Its help centre repeats: "Each Click ID is unique and adheres to the same CTA window configured in Attribution Manager."

TikTok publishes no number of days for that validity. It does give a storage instruction, "The recommended storage TTL (time-to-live) is 28 days or more", and a warning that ttclid "can be up to 1,000 characters long, so you need to ensure that you don't truncate it on your server." The often-quoted seven day figure does not appear in any TikTok primary source we could reach.

Source: TikTok, Send TikTok Click ID (ttclid). business-api.tiktok.com/portal/docs/send-tiktok-click-id-ttclid/v1.3. TikTok's developer portal displays no update date. Checked 14 August 2026.

Upload window

How long after an event occurred a platform will still accept it through its server-side API.

Meta: 7 days from event_time, with the whole request rejected if one event breaches it. Google Ads: 90 days from the click with a gclid, or 63 days when matching on customer data, with conversion adjustments allowed up to 55 days. TikTok: 28 days to upload offline events, with events older than 90 days not matched. TikTok publishes no web event limit.

This is the clock that actually breaks integrations, and it is distinct from the attribution window. A funnel with a 30 day sales cycle and a 7 day upload window needs an in-window milestone event, not a late revenue event.

Source: Meta, Server Event Parameters. developers.facebook.com/documentation/ads-commerce/conversions-api/paramete.... Page shows "Updated: Feb 12, 2026". Checked 14 August 2026.
The whole chain, already wired

FlowTracker captures the click identifier on landing, carries an identity across the app boundary, matches the conversation and returns the conversion to Meta, Google Ads and TikTok inside each platform's window.

Start 7 day free trial

Where to go deeper

Each of these terms is treated at length somewhere in this reference set. The Telegram side is covered in the start parameter reference and what a Telegram channel join reveals. The Meta messaging side is in ctwa_clid explained and which identifier each destination gives you. The reason any of it is necessary is set out in why the pixel cannot follow into a messaging app, and the time limits are compared in conversion upload windows compared.

If you want to check a payload rather than read about one, the Conversions API payload validator runs the seven day rule, the action source list and the hashing rules against JSON you paste, entirely in your browser.

Sources

Every link below was fetched and read on 14 August 2026. Where a vendor does not document something, this article says so rather than filling the gap with an estimate.

Meta developer documentationServer Event Parameters, Customer Information Parameters, ClickID and the fbp and fbc Parameters, Conversions API for Business Messaging, the WhatsApp incoming webhook payload reference, the Messenger messaging_referrals reference and the Meta Pixel Get Started guide. Each entry above links to the specific page it came from, with that page's stated update date. All checked 14 August 2026.
Meta Business Help CentreAbout attribution models and attribution settings, and About Meta's Aggregated Event Measurement. Business Help Centre articles display no update date, so retrieval dates are given instead. Read 14 August 2026.
Google documentationGoogle Ads API "Manage offline conversions", which showed "Last updated 2026-08-03 UTC", plus the Google Ads Help articles on offline conversion imports and conversion windows. Google Ads Help articles display no update date. Checked 14 August 2026.
Telegram documentationBot Features Deep Linking and the Bot API reference, which documented Bot API 10.2 dated 14 July 2026 at time of checking. core.telegram.org/bots/api. Checked 14 August 2026.
TikTok documentationEvents API 2.0, the offline FAQs and the Send TikTok Click ID guide, plus the TikTok Ads Help articles on click IDs and ad group attribution settings. The developer portal displays no update dates; help centre articles do. Read 14 August 2026.
Entries without a vendor sourceOne entry, Postback, describes an industry pattern rather than a documented vendor field, and carries no citation for that reason. Every other entry is sourced to primary documentation.

Last reviewed 14 August 2026

Attribution

Stop guessing which ad worked

FlowTracker joins the click to the conversation to the sale, and returns the result to the platform that produced it.

Keep reading