Skip to main content

How to generate the UTMs in the predefined WhatsApp message (Meta Ads)

You’re going to set up your “Click to WhatsApp” ad in Meta so that, when someone taps the button, the chat opens with a prefilled message that includes UTMs in this format: [utm_source | utm_campaign | utm_medium].

Nahuel Gomez avatar
Written by Nahuel Gomez
Updated over 3 months ago

🛠️ Setup in Meta Ads (Ad level)

1) In Ads Manager, open your campaign and ad set as usual (objective that enables WhatsApp).

2) At the “Ad” level, in Destination, choose WhatsApp and select the number.

3) In “Message/Message Template” (Start conversation), click Edit.

4) In the initial message field, add at the beginning the UTMs in square brackets and separated by “ | ”, keeping in mind the order is as follows:

[utm_source | utm_campaign | utm_medium] followed by whatever text you want.

You can use 1, 2, or all 3 parameters.

Examples:

• Three parameters:

[Facebook | BlackFriday2025 | Paid social] Hi, I’d like more information?

• Two parameters:

[Instagram | AwarenessQ4] Hi, can you tell me more?

• One parameter:

[Google] Hi, I need details.

Suggestions:

• Use consistent names.

• You can use spaces or underscores (Paid social / paid_social), as you prefer.

• If a parameter doesn’t apply, omit it without leaving an empty “| |”.

5) Save changes and Publish the ad.

────────────────────────────────────────

✅ Quick test

• Use the ad preview (Send notification to WhatsApp / Preview) and verify that the chat opens with the message including the UTMs inside [ ].

• Do not delete the brackets or change the order: [source | campaign | medium]. That makes it easier for the AI/platform to identify them.

────────────────────────────────────────

📊 Usage in Darwin

• Darwin automatically reads the parameters inside brackets at the beginning of the message and maps them as utm_source, utm_campaign, and utm_medium.

• You can filter in the Metrics section and in Contacts by those fields.

• If you include only 1 or 2 parameters, the ones present are recorded and the missing ones are ignored.

Did this answer your question?