Clicks

Clicks

The decision payload never sends the advertiser landing URL to the client. click_url is a signed GET on serve. Adserver records the click, then 302s to the landing.

Click URL

No HMAC

Filled decisions include creative.click_url in the form below. Wire that URL as the href or equivalent. Do not HMAC this GET. The token is the credential. Browsers and WebViews follow the 302.

GEThttps://serve.meridianads.tech/v1/click/{token}

Local http://localhost:8090/v1/click/{token}

Impression first

Fire POST /v1/events with {"token": "<impression_token>", "event": "impression"} when the creative is rendered. That is not IAB viewability in v1. Clicks without a valid prior impression token are dropped (HTTP 400). A second fire of the same impression token is idempotent.

Token lifetime

TokenTTLBound to
Impression1 hourCampaign, creative, placement, app
Click24 hoursThe impression token id plus campaign, creative, placement, app

Landing macros

After a valid click, adserver expands these placeholders on the stored destination, then 302s:

  • {click_id}
  • {campaign_id}
  • {placement_id}

{user_key} is never expanded. If the landing still contains that token, it is left as literal text. Moderation rejects destinations that try to pass user_key as a query parameter.