Redirect transparency policy
This page is the normative specification of how MPINGO Click Tracking URLs are formed and
resolved. It is written to be verifiable: every claim below can be checked by issuing a
request and reading the Location response header.
1. The visible destination parameter
Every tracking URL carries a single, plain-text query parameter named
redirection_url. Its value is the complete, percent-encoded URL of the
next hop — for us, always the final landing page.
https://mpingoclicktracker.com/click
?redirection_url=https%3A%2F%2Fbabblingbulbe.com%2Fcollections%2Fstreetwear
&aid=mpb0d5e670fa
&campaign_id=ss26_urban
&creative_id=1042
The value of redirection_url is the only input that determines
where the user is sent. Our service has no offer table, no campaign-to-URL mapping, and no
administrative setting that can point a click somewhere other than the URL written in the
link. Any other parameter present (aid, campaign_id,
creative_id) is used for authorisation or reporting only and is never consulted
when resolving the destination.
&force_transparent=true to any tracking URL. In this mode we redirect
to the value of redirection_url byte-for-byte — we do not even append our own
click identifier. The response is a single HTTP 302 whose Location header equals
the decoded parameter value exactly.
2. The account parameter
Every tracking URL must also carry an account identifier, aid. It names the
advertiser the link belongs to. A request with no aid, an unrecognised
aid, or an aid belonging to a suspended account is rejected with
HTTP 400 and is never redirected.
The account identifier cannot influence where a click goes. It is an input to
authorisation, not to destination resolution. Changing aid can only cause a click
to be rejected; it can never cause a click to land somewhere other than the URL written in
redirection_url. We do not append aid to the destination URL.
aid is an identifier, not a secret — it appears in every ad URL and is
necessarily public. What it governs is described in section 4.
3. Every path behaves identically
The transparency parameter is honoured on every path served by our tracking domain, not only on the path we publish. There is no legacy, alternative, or "opaque" path on which the parameter is ignored, and no path on which a destination could be resolved from anything other than the link itself. The following are equivalent and all resolve to the same landing page:
https://mpingoclicktracker.com/click?redirection_url=…
https://mpingoclicktracker.com/c/ss26_urban?redirection_url=…
https://mpingoclicktracker.com/go/newsletter/spring?redirection_url=…
https://mpingoclicktracker.com/any/other/path?redirection_url=…
The path we place in ad platforms is /click; the others are shown only to
demonstrate that path selection cannot change how a destination is resolved.
A request to any path without redirection_url returns HTTP 400 with an
explanatory page. We never fall back to a default or configured destination, because a
fallback destination would not be visible in the link.
4. Server-side validation of destinations
Before redirecting, the destination is validated server-side. A click is rejected — never silently rerouted — when any of the checks below fails.
Destination scope is configured per account. An account is either restricted, in which case its clicks may only reach a fixed list of landing page domains agreed with us in advance, or open, in which case its clicks may reach any public web address. Accounts we operate for our own advertising are open; the checks in the table below apply to every account regardless of scope, and destination hosts are recorded on every click so that misuse is visible in reporting.
| Condition | Error code |
|---|---|
| Parameter absent, empty, or repeated | MISSING_TRANSPARENCY_PARAM / DUPLICATE_TRANSPARENCY_PARAM |
| Not an absolute, parseable URL | INVALID_URL |
Scheme other than http / https | BAD_SCHEME |
| Credentials embedded in the URL | CREDENTIALS_IN_URL |
| Host not permitted for this account (restricted accounts only) | DESTINATION_NOT_ALLOWED |
Host is not a valid public hostname, or is localhost | INVALID_HOST |
| Host is a private, loopback, or reserved IP address | PRIVATE_ADDRESS |
| Destination is itself a click tracker domain | NESTED_TRACKER |
Unexpanded ad-platform macro such as {lpurl} | UNEXPANDED_MACRO |
| Account parameter absent, malformed, unknown, or suspended | MISSING_ACCOUNT / INVALID_ACCOUNT / UNKNOWN_ACCOUNT / INACTIVE_ACCOUNT |
These checks are what stop the endpoint being used to reach internal infrastructure, to chain into another click tracker, or to carry a destination that is not a plain web address. On a restricted account the domain list additionally confines clicks to that advertiser's own landing pages.
5. Redirect chain
- Exactly one hop: our tracking domain → the declared landing page.
- No unspecified intermediate click-tracking domains are inserted at any time.
- We do not nest, wrap, or chain to any other click tracker.
- Destinations supplied over
httpon a host we serve are upgraded tohttpson the same host; the host itself is never changed. - The redirect is issued as an HTTP 302 with an empty body. No HTML interstitial, no meta refresh, no JavaScript-based navigation.
6. Parameter modifications
Parameters we may add (non-foreign, service-specific)
| Parameter | Meaning | Example |
|---|---|---|
mp_clkid | Opaque first-party click identifier used to join a click to an order in our own reporting | mp_clkid=7Qd1cV0nRr8k |
mp_ts | Unix timestamp in milliseconds of the click | mp_ts=1788307200000 |
These are the complete set of parameters we append, and they are declared to Google as part of our certification. If the destination URL already contains a parameter of the same name, we leave the advertiser's value untouched.
Parameters we never add
We do not introduce foreign parameters — that is, parameters not already present in the value
of redirection_url and not belonging to our own declared set. This explicitly
includes utm_source, utm_medium, utm_campaign,
utm_term, utm_content, affiliate or partner identifiers, and click
identifiers belonging to other networks. We also never modify, strip, reorder, or re-encode
the parameters the advertiser placed inside redirection_url.
7. Google Ads tracking template
Our tracking template, as configured in Google Ads:
{lpurl}?mp_src=google
# or, when the redirect endpoint is used:
https://mpingoclicktracker.com/click?redirection_url={lpurl}&aid=mpb0d5e670fa&campaign_id={campaignid}&creative_id={creative}
{lpurl} is expanded by Google Ads to the campaign's final URL before the click is
served, so the destination is present in clear text in the URL the user actually receives.
Final URL suffix and custom parameters are configured in Google Ads and pass through us
unmodified.
8. Reporting a problem
If you believe an MPINGO tracking URL redirected somewhere other than the destination named in
its redirection_url parameter, send the full URL and a timestamp to
admin@mpingoclick.com. We investigate reports
within two business days and can trace any click by its mp_clkid.