Skip to main content

URL Parameters for All Other Channels

How to track any ad channel in Klar — even without a native integration — using UTM parameters.

Written by Maximilian Rast

Klar's pixel can track and attribute conversions from any channel — even without a native integration — as long as you can attach UTM parameters to your URLs.

💡 To see ROAS/CPA data for non-integrated channels, enter your costs in the Custom Marketing Costs sheet. Note: costs for non-integrated channels can only be entered at the channel level — not broken down to campaign, ad set, or ad level.


Parameters

Use the following parameter structure for accurate attribution and campaign-level breakdown:

⚠️ Replace all dynamic values with actual values when creating your links. Most ad platforms offer dynamic parameters that auto-populate campaign, ad set, and ad names — use them wherever available. Do not use # in any naming convention — it cuts off everything after it in the URL.

Parameter

Value

Notes

utm_source or utm_medium

Channel name (e.g. criteo, adroll)

Must be a unique identifier for this channel so it can be mapped in the Channel Builder

utm_campaign

Campaign name (e.g. tof_scaling)

Dynamic

utm_term

Ad set name (e.g. broad)

Dynamic

utm_content

Ad name (e.g. creative_001)

Dynamic

klar_source

Same channel value as above

Required — must match utm_source or utm_medium

klar_adid

Ad ID

Optional — use if the channel offers a dynamic ad ID parameter. Helps map past revenue and cost data once a native integration becomes available.


Examples

Static example (no dynamic parameters):

Dynamic example (AdRoll with dynamic parameters):


Best practices

  • Not all parameters are required. If a channel doesn't have ad set or ad level granularity, or you only need campaign-level breakdown, you can omit utm_term and utm_content.

  • Use dynamic parameters wherever the platform supports them. They ensure your links stay accurate even as campaign names change.

  • Keep channel naming consistent across utm_source/utm_medium and klar_source — inconsistent naming creates duplicate entries in the Channel Builder.

  • Add klar_adid whenever possible. Even if there's no native integration today, storing the ad ID now means Klar can backfill cost and revenue data if an integration is added later.

Did this answer your question?