Campaign Tracking
See which campaign brought each conversation and lead, using the UTM parameters in your links. No code needed.
Chatvox records the UTM parameters of the link a visitor arrived through, such as ?utm_source=google&utm_campaign=spring_sale. You can see which campaign started each conversation, report on leads by campaign, and send the campaign to your own systems.
It works automatically in the web widget and Public Chat. You don’t need to add any code.
What’s captured
| Parameter | Example |
|---|---|
utm_source |
google |
utm_medium |
cpc |
utm_campaign |
spring_sale |
utm_term |
chatbot software |
utm_content |
banner_a |
Other query parameters are ignored.
How it works
- Web widget: when a visitor lands on any page of your site with UTM parameters, the widget remembers them for that browser tab. If they open the chat later on another page, the conversation still gets the campaign. A new tab, or a later visit without UTM parameters, counts as direct.
- Public Chat: the UTM parameters in the Public Chat link are used, such as
https://my.chatvox.co/chat/<your-agent-id>?utm_source=newsletter. - Saved once: the first message with UTM parameters saves them on the conversation. They’re never overwritten, so the conversation keeps the campaign that started it.
WhatsApp and REST API conversations don’t have UTM parameters.
Where you see it
| Where | What you see |
|---|---|
| Activity | The campaign next to the channel at the top of the conversation. Hover over it to see every UTM parameter. |
| Leads | A Campaign column. A lead copies its conversation’s UTM parameters when it’s created. |
| Lead export | UTM source, UTM medium, UTM campaign, UTM term, and UTM content columns in the CSV file. See Managing Leads. |
| REST API and webhooks | A utm object on each lead, such as {"utm_source": "google", "utm_campaign": "spring_sale"}. See Leads and Webhooks. |
Use it in conversations
Your agent sees the campaign as part of the conversation, so your instructions can refer to it:
If the visitor came from the
spring_salecampaign, mention that the spring discount ends on Friday.
The agent treats UTM values as information, never as instructions. Visitors can type anything into a link, so it won’t follow text hidden in a UTM parameter.
Send it to your systems
Custom API actions can include the campaign in their requests with {{utm.source}}, {{utm.medium}}, {{utm.campaign}}, {{utm.term}}, and {{utm.content}}. For example, to save the campaign with a callback request:
{
"phone": "{{phone}}",
"source": "{{utm.source}}",
"campaign": "{{utm.campaign}}"
}
See Variables.
Tips
- Tag every campaign link, including emails, ads, and social posts. Free tools such as Google’s Campaign URL Builder make this easy.
- Use consistent names, such as always
newsletterrather than sometimesNewsletteroremail. Chatvox saves values exactly as they appear in the link. - Test a link by opening it in a new browser tab, starting a chat, and checking the conversation in Activity.