Transparent links (/c)
The /c/{key}?url= link used in Google Ads tracking templates — link keys, url= decoding, allowlist, the only macros allowed, appended click ID, refusals and how status is recorded.
Last updated 4 min read
On this page
A transparent link redirects to exactly the URL in its url= parameter, in one 302, or refuses with an error
page. It never substitutes another destination. This is the behaviour Google requires from certified click trackers,
so /c/ links are what you put in Google Ads tracking templates. Setup in Google Ads: Google Ads setup.
https://trackcrown.com/c/OFFERCODE-PARTNERCODE? gclid={gclid} &campaignid={campaignid} &force_transparent=true &url={lpurl}Link key#
The part after /c/ decides what the click is attributed to. It is resolved in this order:
A trailing slash is accepted. Any path also honours url=: /r/…, /click, /s/… with url= behave the same way.
Parameters#
How url= is read#
- The key
urlis matched case-insensitively. A+in an encoded value stays+. - Two
url=parameters with different values are refused (duplicate_url) because parsers disagree on which wins.
Validation and allowlist#
The decoded target must be:
- an absolute
http://orhttps://URL of at most 4,096 characters; - free of spaces, control characters, backslashes and
user:password@; - on a public DNS hostname — no IP addresses,
localhost,.local,.internal,.home.arpaor single-label names; - on the allowlist: the workspace's Allowed destination domains ∪ the offer's Allowed transparent destinations ∪ the host of the offer's Destination URL ∪ the hosts of its landing pages (for a smart link: of every offer it references).
Rules: *.example.com (or .example.com) matches example.com and every subdomain; example.com matches
example.com and www.example.com.
Google parallel tracking: https://google.com/asnc/… and https://www.google.com/asnc/… are always accepted,
whatever the allowlist says, because Google substitutes {lpurl} with that endpoint in background requests.
Refusals#
A refused request gets an HTML error page — never a redirect — and is logged as a blocked click with the reason.
Full list: Error codes.
What is added to the destination#
Nothing, except:
- Macros inside the
url=value — only these are expanded (both{name}and encoded%7Bname%7D, values percent-encoded):{click_id},{transaction_id},{aff_id},{offer_id},{sub1}…{sub10},{source_id}. - The click ID parameter, only if Append the click ID to transparent redirects is on in
Workspace settings:
<Click ID parameter name>=<click id>.
Every other byte of the URL — including its own encoding and #fragment — is preserved.
GET /c/OFFERCODE?url=https%3A%2F%2Fshop.example.com%2Fp%3Fa%3D1 HTTP/1.1
HTTP/1.1 302 Found
Location: https://shop.example.com/p?a=1&click_id=0192a6c3f1e04b7e9c2d8a1f3b5c7d9e(The click_id part appears only with the append option on.)
Status is recorded, never enforced#
Offer status, partner approval, targeting, traffic controls and caps are evaluated only to label the click:
Schedule, terms, extended targeting, forwarding, fail routes, landing pages, pre-landers and redirect mode never apply. No cookie is set.
Click IDs from the landing URL#
gclid, gbraid, wbraid, msclkid, fbclid and ttclid found in the query of the decoded url= are stored on
the click (read only — the URL is not modified). The click mode is parallel for the asnc endpoint (or Google's
gb=1 marker), sequential for other Google clicks. One gclid counts as one unique click per link within 30 minutes.
Unknown or deleted link keys#
If the key no longer exists (renamed or deleted offer, partner or smart link) and url= is present, the tracker still
redirects when the target is the asnc endpoint or passes the combined allowlists of the brand's active workspaces;
the click is logged with reason unknown_link. Otherwise it shows the 404 page. Offers, partners and smart links with
recent clicks are archived rather than deleted, so live ads keep working.
Methods#
GET, HEAD and POST (body ignored) return the identical redirect; other methods get 405.
Test a link#
Use Tracking → Google Ads → Transparency tester, or the Test with a real final URL field on the offer's Tracking tab, which checks the allowlist and builds a test link. See Transparency.