Landing-page personalization
Dynamic landing-page macros in Tracked
Use one hosted page for campaign-specific text, images, URLs, and visitor context; pass the offer-click ID through the outgoing offer URL.
Dynamic landing-page macros let one hosted page adapt to its campaign and request without creating a separate copy of the page for every route. Add a token such as {{campaign.name}} or {{hero_image}} to the page, assign any custom value in Tracked, and the dispatcher replaces it when the page is served.
Tracked supports two useful macro layers:
- system macros filled from the live campaign, platform, request, and visitor context;
{{click.id}}resolves separately when/click/Nbuilds the outgoing offer URL; - custom macros that you define as text, an image path, or a URL at the campaign or rule level.
The result is a reusable landing-page template that stays connected to the route and attribution record that served it.
How dynamic macros work
Tracked scans a selected hosted landing page for {{tokens}}. The campaign editor lists the custom tokens it finds, flags values that are still unset, and lets you choose whether each value is text, an image, or a URL.
For example, your HTML can contain:
<h1>{{headline}}</h1>
<img src="{{hero_image}}" alt="{{hero_alt}}">
<a href="{{cta_url}}">{{cta_label}}</a>
You can then assign:
headline = Compare plans available in your area
hero_image = /assets/plan-comparison.jpg
hero_alt = A side-by-side plan comparison
cta_url = /click/1
cta_label = See available plans
When someone requests the campaign page, Tracked replaces the tokens in the served HTML. The source file remains reusable; the campaign controls the values.
Campaign macros and rule overrides
Campaign-level values act as defaults. A routing rule can override selected values for traffic that matches its conditions.
Suppose a campaign uses this default:
headline = Find the right plan
A mobile rule can override it with:
headline = Compare plans from your phone
Only visitors who match that rule receive the override. Other visitors keep the campaign value.
This makes macros useful for controlled message changes across countries, devices, referrers, or query parameters without duplicating the full page. The route still decides which traffic qualifies; the macro changes the approved content inside that route.
Page and offer-click macros
Tracked fills page-request identifiers and campaign context, including:
{{campaign.id}}and{{campaign.name}};{{site.name}};{{impression.id}};{{session.id}};{{platform.id}},{{platform.name}}, and{{platform.click_id}}.
Use {{impression.id}} or {{session.id}} when a hosted page needs its visit context. {{click.id}} is different: it resolves to the actual offer-click ID when Tracked handles the outgoing /click/N URL. The initial hosted-page response has no offer-click ID, so this token is blank there. Put {{click.id}} in the configured offer URL, pass it to the advertiser's click-ID field, and return the same value as click_id in the postback. Treat identifiers as opaque values; do not edit them or expose them as visible page copy.
Query-parameter macros
Inbound query parameters are available through the query namespace. If a campaign URL receives:
?utm_source=taboola&creative=blue-card
the page can use:
{{query.utm_source}}
{{query.creative}}
Tracked normalizes unsupported characters in parameter names to underscores before building the token. Query values are request data, not trusted editorial copy. Avoid inserting them into unsafe script, style, or HTML contexts that were not designed for arbitrary input.
Device and geographic macros
The request context can also supply values such as country, region, city, timezone, device, browser, operating system, brand, and model.
Examples include:
{{user.country}}
{{user.region_name}}
{{user.city}}
{{user.device}}
{{user.browser}}
{{user.os}}
{{user.timezone}}
These values are best used for lightweight presentation and routing support. They are observations derived from the request and can be missing or imperfect. Do not turn a location or device signal into a claim about the person behind the browser.
Macros in HTML, CSS, images, and links
Tracked applies macros to hosted HTML and CSS as the asset is served. That makes several practical patterns possible:
- change a headline or disclosure with a text value;
- select a campaign-specific image using an asset path;
- apply a campaign color or CSS value;
- set an internal or external URL;
- preserve an available impression, session, or platform identifier in a hosted form;
- pass the generated offer-click ID through the configured offer URL with
{{click.id}}; - keep an offer action pointed at a tracked
/click/Nslot.
Use macros for values, not entire page architectures. If two experiences have different layouts, scripts, or asset trees, use separate landing-page variations or hosted folders instead of hiding a second application inside a token.
A safe setup workflow
- Add clearly named
{{custom_tokens}}to the hosted HTML or CSS. - Select the hosted landing page in the campaign.
- Open the macro section and rescan the page.
- Assign each token as text, image, or URL.
- Add rule-level overrides only where the audience condition is explicit.
- Preview every important rule path.
- Follow the page CTA and confirm the click ID and
/click/Nroute remain intact. - Test the resulting conversion path with a new click.
An unset custom macro can remain visible as a literal token, so treat the editor’s unset warning as a release check rather than cosmetic feedback.
Where macros fit in Tracked
Macros are part of the same campaign record as the hosted page, route, offers, rules, and attribution data. You do not need a separate personalization service merely to swap a campaign headline, image, URL, or identifier.
That is the advantage of the tracker-to-page workflow: the value used on the page is configured beside the route that selected it and the report that measures the result.
Frequently asked questions
Can Tracked replace macros in a hosted landing page?
Yes. Tracked scans hosted HTML for custom {{tokens}} and replaces configured values when it serves supported HTML and CSS assets.
Can one rule use different macro values from the default campaign?
Yes. Campaign values provide defaults, and matching rules can override selected values for their traffic.
Can a macro contain an image or URL?
Yes. The campaign editor supports text, image paths, and URLs for custom landing-page macros. Preview the final context because each value is inserted where the token appears.
Should a click ID be shown to visitors?
No. Keep {{click.id}} in the configured offer URL, where Tracked resolves it for the offer click. Do not put it in visible page copy or assume it exists in the initial hosted-page response.