--- title: "Track Meta ads with UTMs" slug: "track-whatsapp-ad-campaigns-with-utms" description: "Track WhatsApp performance in Kommo with insights on conversations, templates, and costs. See what drives results and optimize your messaging strategy." tags: ["Meta Ads Manager", "Click to WhatsApp Ads", "UTM Tracking"] status: "update" updated: 2026-11-05T20:59:24Z published: 2026-11-05T20:59:24Z canonical: "support.kommo.com/track-whatsapp-ad-campaigns-with-utms" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.kommo.com/docs/llms.txt > Use this file to discover all available pages before exploring further. # Track Meta ads with UTMs > [!NOTE] > **What you’ll need** > > - Any Kommo plan: Base, Advanced, Pro, Enterprise, or the 14-day trial. > - WhatsApp Business, Instagram, or Facebook Messenger connected to Kommo, with an ad that opens that connected account. > - Permission to edit the ad in Meta Ads Manager, plus ad-account access and permission for Kommo to read advertising data. See [Set up Meta ad tracking](/resources/docs/set-up-and-manage-click-to-whatsapp-ad-tracking) if you have not granted access yet. > > **Keep in mind** > > - The legacy **Instagram Login** connection does not support UTM or custom parameters. Connect Instagram through Meta or Facebook instead. > - Granting ad-account access does not create labels. You must add them to the ad. Add labels to your ads so your team can find and compare the leads they bring to Kommo. For example, **spring_sale** can identify leads from your spring campaign, while **video_ad** can identify one ad version. A **UTM parameter** tells Kommo which lead field to fill and what value to save. For a first setup, one campaign label is enough: `utm_campaign=spring_sale` Keep **utm_campaign** unchanged and replace **spring_sale** with your campaign label. When a client responds to the ad, Kommo saves your label in the lead’s **utm_campaign** field. ## Understand your tracking options Kommo saves some ad details automatically. For additional details, choose the type of parameter that matches your goal: - [Automatically saved ad details](/resources/docs/track-whatsapp-ad-campaigns-with-utms#h.inzdf6nc9mr7): identify the ad without adding labels. - [Main UTM parameters](/resources/docs/track-whatsapp-ad-campaigns-with-utms#h.5zbaudzib1db): label the source, marketing channel, and campaign. - [Additional UTM parameters](/resources/docs/track-whatsapp-ad-campaigns-with-utms#h.k70b4neavwi): distinguish ad versions and audiences. - [Custom parameters](/resources/docs/track-whatsapp-ad-campaigns-with-utms#h.1w4d9nqm5aya): save your own information, such as an offer or region. - [Dynamic parameters](/resources/docs/track-whatsapp-ad-campaigns-with-utms#h.tkgemci697a1): use the ad’s actual name or ID without typing it manually. You do not have to use every type. If a campaign label is all you need, read **Main UTM parameters**, then go to [Write your parameters](/resources/docs/track-whatsapp-ad-campaigns-with-utms#h.m6r2va8rsv0x). ### Automatically saved ad details Kommo can save **Meta Ads ad ID** and **Meta Ads source** without extra labels or ad-account access. It also saves **Meta Ads ref** if a Ref value is set in the ad. With ad-account access and a supported connection, it can also save **Meta Ads campaign ID**, **Meta Ads ad set ID**, and **Meta Ads creative ID**. An **ad set** is a group of ads with shared audience and schedule settings. A **creative** is the ad’s content, such as its image, video, or text. IDs are the numbers Meta uses to identify these items; they are not campaign names. For access requirements, see [Set up Meta ad tracking](/resources/docs/set-up-and-manage-click-to-whatsapp-ad-tracking). For the full field reference and where to find each value, see [View the saved ad details](/resources/docs/set-up-and-manage-click-to-instagram-ad-tracking). ### Main UTM parameters Start with **utm_campaign** if you want to find leads from one campaign. Add the other fields only if you need those labels too. | **Parameter** | **What you use it for** | **Example value** | | --- | --- | --- | | utm_source | A source label you choose | facebook | | utm_medium | A marketing channel or traffic type | paid_social | | utm_campaign | A campaign label | spring_sale | To use all three: `utm_source=facebook&utm_medium=paid_social&utm_campaign=spring_sale` You choose these values. **utm_source=facebook** always saves **facebook**; it does not detect where the client saw the ad. **utm_source** is separate from **Meta Ads source**, which identifies the source type, such as an ad or post. ### Additional UTM parameters Use these if you want to compare ad versions or audiences within a campaign. | **Parameter** | **What you use it for** | **Example value** | | --- | --- | --- | | utm_content | An ad or creative version | video_ad | | utm_term | An audience or keyword label | family_cruise | Example: `utm_content=video_ad&utm_term=family_cruise` Kommo saves **video_ad** in **utm_content** and **family_cruise** in **utm_term**. ### Custom parameters Create your own parameters when the standard UTM fields do not describe the information you need. For example: `utm_offer=free_delivery&region=emea` This saves **free_delivery** in the **utm_offer** field and **emea** in the **region** field. If the fields do not exist, Kommo creates them. The **utm_** prefix is optional for custom parameters. Use consistent field names and values across your ads. For example, choose **facebook** rather than alternating between **facebook**, **Facebook**, and **fb**. ### Dynamic parameters Use a dynamic parameter when you want to save a name or ID from the ad instead of entering a fixed label. You put a placeholder in the value, and **Kommo replaces it with the actual value** when it receives the ad details. These placeholders work with WhatsApp, Instagram, and Facebook Messenger when your connection supports parameters and the required ad-account access is granted: | **Placeholder** | **What Kommo saves** | **Example value** | | --- | --- | --- | | {{campaign.name}} | Campaign name | Spring sale | | {{campaign.id}} | Campaign ID | 120210345678901 | | {{adset.name}} | Ad set name | Flower lovers | | {{adset.id}} | Ad set ID | 120210345678902 | | {{ad.name}} | Ad name | Pink bouquet video | | {{ad.id}} | Ad ID | 120210345678903 | For **WhatsApp only**, you can also use **{{site_source_name}}** to identify the platform where the ad appeared. For example: `utm_campaign={{campaign.name}}` If the campaign is called **Spring sale**, Kommo saves **Spring sale** in **utm_campaign**. **Only the placeholders listed here are supported.** Kommo removes unsupported placeholders from the value. If nothing remains, it does not fill the field. Meta’s [guide to dynamic URL parameters](https://www.facebook.com/business/help/2360940870872492) includes options that Kommo does not support. ## How ad details reach Kommo Kommo receives ad details through the messaging account connected to it. It uses the connection for the app where the client messages you. For example, an ad shown on Facebook that opens WhatsApp uses your WhatsApp connection. - **WhatsApp and Instagram:** The client must click the ad and send a message. A click alone does not create a chat or lead, or save ad details. - **Facebook Messenger:** If the client already has a conversation and a linked lead in Kommo, a click can save details without another message. Otherwise, the client must send a message. ## Write your parameters 1. Write the **field name**, an equals sign (**=**), and the **value** to save. For example, **utm_campaign=spring_sale** fills **utm_campaign** with **spring_sale**. 2. Replace **spring_sale** with your campaign label. Keep the field name **utm_campaign** unchanged. 3. If you need more than one parameter, join them with **&**. For example: `utm_campaign=spring_sale&utm_content=video_ad` Kommo saves **spring_sale** in **utm_campaign** and **video_ad** in **utm_content**. Check spelling before publishing. A typo such as **utm_campain** creates a separate field from **utm_campaign**. ## Add the parameters in Meta Ads Manager 1. Open the ad in **Meta Ads Manager**. 2. At the **Ad level**, find **Tracking → URL parameters**. 3. Paste your parameters—for example, **utm_campaign=spring_sale** with your chosen label. 4. Publish your changes. Enter **only the parameters**. Do not paste a full URL or add a question mark (**?**) at the beginning. For Meta’s instructions, see [Add URL parameters to your ads](https://www.facebook.com/business/help/1016122818401732). ## Check that your label was saved Ad changes can take **up to 6 hours** to apply on all three channels. During that time, Kommo may still receive the old fields and values. If you have just granted ad-account access, also allow **10 minutes** for access to take effect. Run [Test that ad details reach Kommo](/resources/docs/set-up-and-manage-click-to-instagram-ad-tracking#h.gaczs1svs5am). In the linked lead’s **Statistics → Tracking data**, click **Show** and check **utm_campaign**. If you used **utm_campaign=spring_sale**, the field should contain **spring_sale**. If you chose another label or a dynamic value, check for that value instead. Check any other parameters you added in their matching fields. To find all leads with this label, follow [Find leads from the same campaign](/resources/docs/set-up-and-manage-click-to-instagram-ad-tracking#h.ic02s2yxdqvk). If the label is missing, see [Campaign IDs are saved, but labels are missing](/resources/docs/fix-meta-ads-tracking-issues#h.it30dpnsmb4g). Changing parameters in Meta does not rewrite values already saved in leads. When a client responds to another ad, some old values may remain. See [What changes when a client responds to another ad](/resources/docs/set-up-and-manage-click-to-instagram-ad-tracking#h.9i7lfcxre0r0) for the complete replacement and retention rules. ## Related - [WhatsApp Business overview](/whatsapp-business-overview.md) - [Create and manage WhatsApp Business message templates](/manage-whatsapp-business-message-templates.md) - [Connect WhatsApp Business to Kommo](/connect-whatsapp-business-to-kommo.md)