The Campaigns report attributes conversions to your marketing channels using UTM parameters captured from landing page URLs. For the report to be useful, two things must be true: your ad links must include UTM parameters, and your conversion events must include revenue data.
How it works
When a visitor arrives via a tagged URL (e.g. ?utm_source=meta&utm_medium=cpc&utm_campaign=summer25), Hardal captures those values and stores them with the session. Every conversion event fired during that session is then attributed to that source, medium, and campaign.
What your conversion event needs
At minimum, your purchase (or other conversion) event needs value and currency for revenue attribution to appear in the report.
hardal.track("purchase", {
transaction_id: "ORDER-001", // prevents duplicate counting on page reload
value: 99.99,
currency: "USD"
});
Without transaction_id, the same purchase can be counted multiple times if the confirmation page is refreshed.
UTM parameters
Hardal reads these from the landing page URL automatically — no extra tracking code needed.
| Parameter | Example | Purpose |
|---|
utm_source | meta, google, newsletter | Where the traffic came from |
utm_medium | cpc, email, social | The marketing channel type |
utm_campaign | summer25, retargeting | The specific campaign name |
If your ad links don’t include UTM parameters, all traffic from those campaigns will appear as “direct” in the Campaigns report. Always tag your paid links.
Common setup issues
| Symptom | Likely cause | Fix |
|---|
| Revenue shows as $0 | value missing from event | Add value and currency to your conversion event |
| All traffic shows as “direct” | UTMs not on landing URLs | Tag all campaign links with UTM parameters |
| Duplicate conversions | No transaction_id | Add a unique order/lead ID to every conversion event |
| Conversion not attributed | User clicked ad but UTMs were stripped | Check your redirect chain — some URL shorteners strip UTMs |
View Campaigns report
See your live campaign performance in the analytics dashboard