{"id":243,"date":"2026-10-25T13:03:15","date_gmt":"2026-10-25T13:03:15","guid":{"rendered":"https:\/\/vectalk.com.br\/blog\/track-click-to-whatsapp-ads\/"},"modified":"2026-10-25T13:11:41","modified_gmt":"2026-10-25T13:11:41","slug":"track-click-to-whatsapp-ads","status":"publish","type":"post","link":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/","title":{"rendered":"Click-to-WhatsApp ads: how to know which ad generated the sale"},"content":{"rendered":"\n<p><em>Updated on October 25, 2026<\/em><\/p>\n\n\n\n<p>To know which Click-to-WhatsApp ad generated a sale, read the <code>referral<\/code> object the Cloud API sends in the incoming message webhook: it carries the ad ID (<code>source_id<\/code>) and a unique click ID (<code>ctwa_clid<\/code>). Store this data with the contact and conversation, and when the sale happens, link the order to it. That lets you compute sales per ad in your own system and also send the sale back to Meta through the Conversions API.<\/p>\n\n\n\n<p>This guide shows the payload, what each field means, how to build attribution in your database, how to check the free entry point window through the status webhook, and the cases where the data doesn&#8217;t arrive.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What a Click-to-WhatsApp ad is<\/h2>\n\n\n\n<p>Click-to-WhatsApp (CTWA) ads are Facebook and Instagram ads whose button opens a chat with the business on WhatsApp. The person taps the ad, WhatsApp opens with a pre-filled message and, when they send it, your integration receives that message through the webhook with the ad data attached.<\/p>\n\n\n\n<p>The key point: <strong>Ads Manager shows how many conversations an ad started, but it doesn&#8217;t know what happened next<\/strong>. The sale closes in the chat, in your CRM or at your checkout. Your integration is what connects both ends.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The referral object in the webhook<\/h2>\n\n\n\n<p>According to the <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/webhooks\/reference\/messages\/text\" target=\"_blank\" rel=\"noreferrer noopener\">text messages webhook reference<\/a>, when a message comes from a CTWA ad, it arrives with a <code>referral<\/code> object:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"object\": \"whatsapp_business_account\",\n  \"entry\": [{\n    \"id\": \"WABA_ID\",\n    \"changes\": [{\n      \"field\": \"messages\",\n      \"value\": {\n        \"messaging_product\": \"whatsapp\",\n        \"metadata\": { \"display_phone_number\": \"5511999990000\", \"phone_number_id\": \"PHONE_NUMBER_ID\" },\n        \"contacts\": [{ \"profile\": { \"name\": \"Ana\" }, \"wa_id\": \"5511988887777\" }],\n        \"messages\": [{\n          \"from\": \"5511988887777\",\n          \"id\": \"wamid.HBgN...\",\n          \"timestamp\": \"1761400000\",\n          \"type\": \"text\",\n          \"text\": { \"body\": \"Hi! I'd like to know more about the annual plan.\" },\n          \"referral\": {\n            \"source_url\": \"https:\/\/fb.me\/3cr4Wqqkv\",\n            \"source_id\": \"120226305854810726\",\n            \"source_type\": \"ad\",\n            \"headline\": \"Chat with us\",\n            \"body\": \"Annual plan with WhatsApp support\",\n            \"media_type\": \"image\",\n            \"image_url\": \"https:\/\/scontent.xx.fbcdn.net\/...\",\n            \"ctwa_clid\": \"Aff-n8ZTODiE79d22KtAwQKj9e_mIEOOj27vDVwFjN80dp4...\",\n            \"welcome_message\": { \"text\": \"Hi there! How can we help?\" }\n          }\n        }]\n      }\n    }]\n  }]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">What each field means<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field<\/th><th>What it is<\/th><th>Use in attribution<\/th><\/tr><\/thead><tbody><tr><td><code>source_id<\/code><\/td><td>Ad ID<\/td><td>Key to group sales by ad<\/td><\/tr><tr><td><code>source_type<\/code><\/td><td>Source (<code>ad<\/code> for ads)<\/td><td>Filter what came from ads<\/td><\/tr><tr><td><code>source_url<\/code><\/td><td>Ad URL<\/td><td>Reference to check on Facebook<\/td><\/tr><tr><td><code>headline<\/code> \/ <code>body<\/code><\/td><td>Ad headline and primary text<\/td><td>Identify the creative without calling the Marketing API<\/td><\/tr><tr><td><code>media_type<\/code><\/td><td><code>image<\/code> or <code>video<\/code><\/td><td>Compare formats<\/td><\/tr><tr><td><code>image_url<\/code>, <code>video_url<\/code>, <code>thumbnail_url<\/code><\/td><td>Ad media (depending on type)<\/td><td>Show the creative in your CRM<\/td><\/tr><tr><td><code>ctwa_clid<\/code><\/td><td>Click ID, unique per click<\/td><td>Send the conversion back to Meta<\/td><\/tr><tr><td><code>welcome_message.text<\/code><\/td><td>Ad greeting text<\/td><td>Context for your support team<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Two notes from Meta&#8217;s documentation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <code>ctwa_clid<\/code> is <strong>omitted<\/strong> when the message comes from an ad in WhatsApp Status. You still get the <code>source_id<\/code>.<\/li>\n\n\n<li>The <code>ctwa_clid<\/code> is a personal identifier, unique per click, according to the <a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\/business-messaging\" target=\"_blank\" rel=\"noreferrer noopener\">Conversions API for Business Messaging guide<\/a>. Treat it as personal data, with the same protection as the customer&#8217;s phone number.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to build attribution in your system<\/h2>\n\n\n\n<p>The logic is simple: store the click when it arrives, and link the sale to the click when it happens.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Store the referral as soon as the message arrives<\/h3>\n\n\n\n<p>Create a conversation source table:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-sql\">CREATE TABLE conversation_source (\n  id            BIGSERIAL PRIMARY KEY,\n  wa_id         TEXT NOT NULL,\n  wamid         TEXT NOT NULL UNIQUE,\n  ad_id         TEXT,\n  ctwa_clid     TEXT,\n  headline      TEXT,\n  received_at   TIMESTAMPTZ NOT NULL\n);<\/code><\/pre>\n\n\n\n<p>And in the webhook handler:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-javascript\">export function recordSource(value, db) {\n  for (const msg of value.messages ?? []) {\n    const ref = msg.referral;\n    if (!ref || ref.source_type !== 'ad') continue;\n\n    db.insertSource({\n      wa_id: msg.from,\n      wamid: msg.id,\n      ad_id: ref.source_id,\n      ctwa_clid: ref.ctwa_clid ?? null, \/\/ missing for Status ads\n      headline: ref.headline ?? null,\n      received_at: new Date(Number(msg.timestamp) * 1000),\n    });\n  }\n}<\/code><\/pre>\n\n\n\n<p>Use the <code>wamid<\/code> as a unique key: Meta may resend the same webhook, and the <code>UNIQUE<\/code> constraint prevents duplicate sources. To test with sample payloads before running ads, see <a href=\"https:\/\/vectalk.com.br\/blog\/en\/test-whatsapp-webhook-locally\/\">how to test the webhook locally<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Link the sale to the last click<\/h3>\n\n\n\n<p>When the order is created (at checkout, in the CRM or by an agent), look up the latest source for that <code>wa_id<\/code> within a window you choose, for example 7 or 28 days:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-sql\">SELECT ad_id, ctwa_clid\nFROM conversation_source\nWHERE wa_id = $1\n  AND received_at &gt;= now() - interval '7 days'\nORDER BY received_at DESC\nLIMIT 1;<\/code><\/pre>\n\n\n\n<p>Save <code>ad_id<\/code> and <code>ctwa_clid<\/code> on the order. This is your <strong>last-click<\/strong> model. If someone clicked two ads, the sale goes to the most recent one. Choose the window based on your sales cycle and keep the same rule when comparing ads.<\/p>\n\n\n\n<p>If the sale happens at a checkout outside WhatsApp, include a contact identifier in the link you send in the chat (an order or session code), so the checkout can map back to the <code>wa_id<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Put names on the IDs<\/h3>\n\n\n\n<p>The <code>source_id<\/code> is a number. To show &#8220;Black Friday campaign \u2013 Video 2&#8221; in your report, query the Marketing API with a token that has access to the ad account:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">curl \"https:\/\/graph.facebook.com\/v26.0\/120226305854810726?fields=name,adset{name},campaign{name}&amp;access_token=TOKEN_WITH_ADS_READ\"<\/code><\/pre>\n\n\n\n<p>Cache the result: ad names rarely change, and querying on every message is wasteful.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Report by ad<\/h3>\n\n\n\n<p>With <code>ad_id<\/code> on the order, the report is a query: conversations per ad (from the source table), orders and revenue per ad (from the orders table), and the conversion rate between them. Add each ad&#8217;s spend, exported from Ads Manager, and you get cost per sale.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The free entry point window<\/h2>\n\n\n\n<p>Conversations that start from a CTWA ad come with a cost benefit. According to <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">Meta&#8217;s pricing page<\/a>, if a user messages you from a CTWA ad on the Android or iOS app and the business replies within the customer service window, that reply isn&#8217;t charged and opens a <strong>free entry point (FEP) window<\/strong>. While it&#8217;s open, marketing, utility, authentication and service messages aren&#8217;t charged. Meta Business Agent messages are still charged.<\/p>\n\n\n\n<p>Official sources disagree on the duration: the developer documentation says the window may stay open for <strong>up to 7 days<\/strong>, while the <a href=\"https:\/\/whatsappbusiness.com\/pt-br\/products\/platform-pricing\/\" target=\"_blank\" rel=\"noreferrer noopener\">WhatsApp Business marketing site<\/a> still says <strong>72 hours<\/strong>. Instead of relying on a fixed number, check the status webhook. According to the <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/webhooks\/reference\/messages\/status\" target=\"_blank\" rel=\"noreferrer noopener\">status reference<\/a>, messages sent inside the free window arrive with <code>pricing.type<\/code> set to <code>free_entry_point<\/code>. The same reference lists the <code>referral_conversion<\/code> category for free entry point conversations:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"id\": \"wamid.HBgN...\",\n  \"status\": \"delivered\",\n  \"recipient_id\": \"5511988887777\",\n  \"pricing\": {\n    \"pricing_model\": \"PMP\",\n    \"type\": \"free_entry_point\",\n    \"category\": \"referral_conversion\"\n  }\n}<\/code><\/pre>\n\n\n\n<p>Recording the <code>pricing<\/code> of every message lets you add to your report how much you saved on messages per ad. See the <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-status-webhook\/\">message status webhook<\/a>.<\/p>\n\n\n\n<p>Two practical consequences:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reply fast.<\/strong> The free window only opens if the business replies within the customer service window. An <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-welcome-away-message\/\">automatic welcome message<\/a> solves that.<\/li>\n\n\n<li><strong>Concentrate your follow-up.<\/strong> Reminders and offers sent inside the free window don&#8217;t pay the marketing rate. It&#8217;s a good moment for <a href=\"https:\/\/vectalk.com.br\/blog\/en\/recover-pix-boleto-abandoned-cart-whatsapp\/\">PIX and cart recovery<\/a> (PIX is Brazil&#8217;s instant payment system).<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">When the referral doesn&#8217;t arrive<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Situation<\/th><th>What happens<\/th><th>What to do<\/th><\/tr><\/thead><tbody><tr><td>Ad shown in WhatsApp Status<\/td><td><code>referral<\/code> arrives, without <code>ctwa_clid<\/code><\/td><td>Attribute by <code>source_id<\/code><\/td><\/tr><tr><td>Customer saves the number and writes days later, outside the ad<\/td><td>Regular message, no referral<\/td><td>Count the conversation as organic in your system<\/td><\/tr><tr><td>Webhook down when the message arrived<\/td><td>Data is lost if you don&#8217;t process the retry<\/td><td>Return 200 quickly and process in a queue<\/td><\/tr><tr><td>Desktop or web app<\/td><td>The free window doesn&#8217;t apply (the pricing page only mentions Android and iOS)<\/td><td>Don&#8217;t count on free messages in these cases<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">From reporting to optimization: the Conversions API<\/h2>\n\n\n\n<p>Knowing which ad sells is half the job. The other half is telling Meta, so ad delivery learns from sales and not just from started conversations. You do that by sending events (such as <code>Purchase<\/code>) with the <code>ctwa_clid<\/code> to the Conversions API. The step-by-step is in <a href=\"https:\/\/vectalk.com.br\/blog\/en\/meta-conversions-api-whatsapp\/\">Meta Conversions API for WhatsApp<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to do it with Vectalk<\/h2>\n\n\n\n<p>Vectalk forwards webhooks in Meta&#8217;s format, so the <code>referral<\/code> object reaches your URL exactly as described above, with no conversion. To get started:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Connect your number at <a href=\"https:\/\/apps.vectalk.com.br\/register\">apps.vectalk.com.br\/register<\/a>.<\/li>\n\n\n<li>Register your webhook with <code>POST \/api\/webhooks<\/code> (<a href=\"https:\/\/docs.vectalk.com.br\/concepts\/webhooks\">docs<\/a>). You can register more than one URL per instance, for example one for support and another only for the attribution service.<\/li>\n\n\n<li>Store <code>referral<\/code> and <code>pricing<\/code> as shown in this article.<\/li>\n\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Does the referral come with every message in the conversation?<\/h3>\n\n\n\n<p>Meta&#8217;s documentation describes the <code>referral<\/code> on the message the user sends from the ad. Store it as soon as it arrives and don&#8217;t rely on receiving it again in later messages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What&#8217;s the difference between source_id and ctwa_clid?<\/h3>\n\n\n\n<p>The <code>source_id<\/code> is the ad ID: the same for everyone who clicked that ad. The <code>ctwa_clid<\/code> is the ID of one specific click by one person. For per-ad reporting, use <code>source_id<\/code>; to send the conversion back to Meta, use <code>ctwa_clid<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I get the campaign and ad set?<\/h3>\n\n\n\n<p>Yes, by querying the ad ID in the Marketing API with a token that has access to the ad account. The WhatsApp webhook only carries the ad ID and the creative&#8217;s text.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is the free window 72 hours or 7 days?<\/h3>\n\n\n\n<p>Meta&#8217;s developer documentation says up to 7 days; the WhatsApp Business marketing site still says 72 hours. Check message by message through <code>pricing.type<\/code> in the status webhook: <code>free_entry_point<\/code> means the message wasn&#8217;t charged because it was inside the window.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does it work with Instagram ads?<\/h3>\n\n\n\n<p>Yes. Click-to-WhatsApp ads can run on Facebook and Instagram, and the message reaches WhatsApp with the <code>referral<\/code> in the same way.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Official sources checked on October 25, 2026:<\/strong> <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/webhooks\/reference\/messages\/text\" target=\"_blank\" rel=\"noreferrer noopener\">Text messages webhook (referral)<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/webhooks\/reference\/messages\/status\" target=\"_blank\" rel=\"noreferrer noopener\">Status webhook (pricing)<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">Platform pricing<\/a>, <a href=\"https:\/\/whatsappbusiness.com\/pt-br\/products\/platform-pricing\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pricing on the WhatsApp Business site<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/ads-commerce\/conversions-api\/business-messaging\" target=\"_blank\" rel=\"noreferrer noopener\">Conversions API for Business Messaging<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/ctwa\/welcome-message-sequences\" target=\"_blank\" rel=\"noreferrer noopener\">CTWA welcome message sequences<\/a>, <a href=\"https:\/\/docs.vectalk.com.br\/concepts\/webhooks\">Vectalk: webhooks<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When someone arrives through a Click-to-WhatsApp ad, the webhook carries the ad ID and a click ID. Here&#8217;s how to store them and link them to the sale.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-243","post","type-post","status-publish","format-standard","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Track Click-to-WhatsApp ads to the sale | Vectalk<\/title>\n<meta name=\"description\" content=\"How to track Click to WhatsApp ads to the sale: the referral object in the webhook, ctwa_clid, source_id, the free entry point window and attribution.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Track Click-to-WhatsApp ads to the sale | Vectalk\" \/>\n<meta property=\"og:description\" content=\"How to track Click to WhatsApp ads to the sale: the referral object in the webhook, ctwa_clid, source_id, the free entry point window and attribution.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Vectalk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-25T13:03:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-25T13:11:41+00:00\" \/>\n<meta name=\"author\" content=\"wanderleyfcunha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wanderleyfcunha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/\"},\"author\":{\"name\":\"wanderleyfcunha\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"headline\":\"Click-to-WhatsApp ads: how to know which ad generated the sale\",\"datePublished\":\"2026-10-25T13:03:15+00:00\",\"dateModified\":\"2026-10-25T13:11:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/\"},\"wordCount\":1340,\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/\",\"name\":\"Track Click-to-WhatsApp ads to the sale | Vectalk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-25T13:03:15+00:00\",\"dateModified\":\"2026-10-25T13:11:41+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"description\":\"How to track Click to WhatsApp ads to the sale: the referral object in the webhook, ctwa_clid, source_id, the free entry point window and attribution.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/track-click-to-whatsapp-ads\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Click-to-WhatsApp ads: how to know which ad generated the sale\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\",\"name\":\"Blog Vectalk\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\",\"name\":\"wanderleyfcunha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"caption\":\"wanderleyfcunha\"},\"sameAs\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Track Click-to-WhatsApp ads to the sale | Vectalk","description":"How to track Click to WhatsApp ads to the sale: the referral object in the webhook, ctwa_clid, source_id, the free entry point window and attribution.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/","og_locale":"en_US","og_type":"article","og_title":"Track Click-to-WhatsApp ads to the sale | Vectalk","og_description":"How to track Click to WhatsApp ads to the sale: the referral object in the webhook, ctwa_clid, source_id, the free entry point window and attribution.","og_url":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/","og_site_name":"Blog Vectalk","article_published_time":"2026-10-25T13:03:15+00:00","article_modified_time":"2026-10-25T13:11:41+00:00","author":"wanderleyfcunha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wanderleyfcunha","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/#article","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/"},"author":{"name":"wanderleyfcunha","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"headline":"Click-to-WhatsApp ads: how to know which ad generated the sale","datePublished":"2026-10-25T13:03:15+00:00","dateModified":"2026-10-25T13:11:41+00:00","mainEntityOfPage":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/"},"wordCount":1340,"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/","url":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/","name":"Track Click-to-WhatsApp ads to the sale | Vectalk","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/#website"},"datePublished":"2026-10-25T13:03:15+00:00","dateModified":"2026-10-25T13:11:41+00:00","author":{"@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"description":"How to track Click to WhatsApp ads to the sale: the referral object in the webhook, ctwa_clid, source_id, the free entry point window and attribution.","breadcrumb":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vectalk.com.br\/blog\/en\/track-click-to-whatsapp-ads\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vectalk.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Click-to-WhatsApp ads: how to know which ad generated the sale"}]},{"@type":"WebSite","@id":"https:\/\/vectalk.com.br\/blog\/#website","url":"https:\/\/vectalk.com.br\/blog\/","name":"Blog Vectalk","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vectalk.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b","name":"wanderleyfcunha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","caption":"wanderleyfcunha"},"sameAs":["https:\/\/vectalk.com.br\/blog"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":2,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"predecessor-version":[{"id":434,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions\/434"}],"wp:attachment":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/tags?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}