Error and reason codes reference
Every refusal, status reason and result code — tracking links, conversion postbacks, pixels, /lp, the inbound log, template checks, the simulator and the API.
Last updated 13 min read
On this page
- Tracking links — click status reasons
- Transparent links (/c/… with url=)
- Partner links (/r/, /click) and smart links (/s/)
- Server-side clicks (/clk)
- Conversion postbacks (/pb, /postback, /conversion)
- Pixels (/px, /px.gif, /px.js)
- Landing-page endpoint (POST /lp)
- Conversion status reasons
- Inbound postback log result codes
- Outgoing postback errors (Delivery log)
- Template checks
- Google Ads simulator statuses
- REST API
Every refusal and decision in TrackCrown has a short, stable code. This page lists them by where you meet them. If a code does not explain what you see, contact Web Cue LLC at https://www.trackcrown.com/contact with the click ID, conversion ID or request time.
Tracking links — click status reasons#
The reason is stored on the click (Reports → Clicks, transaction lookup) and in the Fraud & fail traffic report.
Transparent links (/c/… with url=)#
Recorded but never changing the redirect: paused (also for a paused or inactive advertiser), not_approved,
targeting, cap_over, workspace_inactive. The same holds for /r, /click and /s requests that carry url=.
Partner links (/r/, /click) and smart links (/s/)#
Fallback order: the offer's Fallback URL → the workspace Default fallback URL → a neutral page (HTTP 200). A smart link in Priority waterfall mode whose candidates all fail records the reason of the first offer tried and no offer.
Clicks created without a redirect carry lp (direct visit via the SDK), organic (organic visit) or coupon
(synthetic click of a coupon conversion).
Server-side clicks (/clk)#
error_code: 0 ok · 1 invalid token · 2 unknown offer · 3 unknown affiliate · 4 offer not active (offer or
advertiser paused, outside the schedule) · 5 affiliate not approved (or offer terms not accepted) · 6 targeting ·
7 click cap reached · 8 workspace not active · 9 blocked by a traffic control · 10 duplicate click. Codes 4–10
are logged as fallback clicks with the matching reason (paused, not_approved, targeting, cap,
workspace_inactive, traffic_control, duplicate). Details:
Server-side clicks.
Conversion postbacks (/pb, /postback, /conversion)#
Postbacks answer JSON. Business errors use 200 with {"ok":false,"error":"…"} because advertiser systems retry
anything else.
Successful answers: status (approved, pending, rejected, or forwarded), plus reason, duplicate,
updated, forwarded, test and details when they apply.
Pixels (/px, /px.gif, /px.js)#
Pixels always answer 200 (GIF, HTML or script). The outcome is in the X-ArcTrack-Conversion header: a status,
<status>; <reason>, or error: <message>. Pixel-specific messages: click_id required (no click ID, no pixel
cookie, no coupon), offer does not accept pixel conversions, conversion_id updates need a server-to-server postback.
Landing-page endpoint (POST /lp)#
Details: The /lp endpoint.
Conversion status reasons#
Stored on the conversion (Reports → Conversions, partner and advertiser portals, Conversion quality → Status reasons).
Inbound postback log result codes#
approved, pending, rejected, duplicate, updated, forwarded, test, invalid_token, token_required,
advertiser_inactive, unknown_click, unknown_conversion, unknown_offer, coupon_error, ip_not_allowed, malformed,
method_not_allowed, unavailable, error, and for landing-page SDK calls (/lp) param, gclid, gbraid,
wbraid, organic, direct — see Inbound postback log.
Outgoing postback errors (Delivery log)#
Template checks#
Returned by the template builder, the transparency tester and POST /api/v1/google-ads/lint. Errors make Google
reject the template or break the redirect; warnings do not.
Google Ads simulator statuses#
REST API#
Errors are {"error":{"code":"…","message":"…"}}. Codes: missing_api_key, invalid_api_key, ip_not_allowed,
rate_limited, invalid_request, invalid_parameter, invalid_cursor, invalid_json, validation_failed,
unsupported_media_type, payload_too_large, method_not_allowed, forbidden, read_only_key,
workspace_inactive, advertiser_inactive, affiliate_inactive, not_found, conflict, in_use, unavailable,
internal_error. HTTP statuses and details are in the REST API reference.