AdPlusMedia Docs
Docs For Advertisers

Tracking Links

Your campaign's tracking link is where we hand the user off to you. It must carry our click identifier so that the conversion you report later can be matched back to the original click.

The click ID macro

Include the {user_id} macro anywhere in your tracking URL. At redirect time we replace it with the click's tracking code.

text
https://app.appsflyer.com/id123456789?pid=adplusmedia&clickid={user_id}

A tracking link without {user_id} will not be accepted. Without it, every conversion you report arrives with no click to attach to and is rejected with Click not found.

What the click code looks like

Each click receives a short, opaque tracking code. It is not our internal database ID, which is never exposed.

PropertyValue
Length8 characters
AlphabetUppercase letters and digits, excluding 0, O, 1, I and L
ExampleK7M2XQ9A
StabilityAssigned once at click time and never changes

The ambiguous characters are excluded on purpose so codes survive being read aloud, retyped or pasted out of a support ticket without transcription errors.

Round trip

  1. A publisher's user clicks your offer

    We validate the placement, run VPN and proxy checks, and confirm country and device targeting.

  2. We create the click

    A tracking code is generated and stored against the publisher, the user and the offer.

  3. We redirect to your tracking link

    Your {user_id} macro is replaced with the tracking code and the user is forwarded.

  4. Your MMP fires a postback

    You send the same code back as clickid. See MMP Postbacks.

  5. We settle and pay out

    The conversion is priced from your campaign event and the publisher's postback is fired.

Encoding rules

We do not URL-decode your tracking link before substituting the macro. Percent-encoded deep-link parameters are preserved exactly as you entered them, so build your URL in its final encoded form.

Deep links

When your link contains a nested destination URL, encode the inner URL but leave the macro itself unencoded:

text
https://app.appsflyer.com/id123456789?pid=adplusmedia&clickid={user_id}&af_dp=myapp%3A%2F%2Fproduct%2F42

Redirect behaviour

The final hop to your tracking link is performed in the browser rather than as an HTTP 302. This preserves the user agent and lets us apply fraud checks before the handoff.

Your tracking link must be reachable directly from a browser. Endpoints that require a specific Referer, reject unknown user agents, or depend on a server-to-server call will not work.

Testing your link

  • Open the link with a real value substituted for {user_id} and confirm it resolves.
  • Check that your MMP records the value in the field you will send back as clickid.
  • Fire a test postback with that click code and confirm you receive Postback Handled Successfully.
  • Confirm the event name you send exactly matches an event configured on your campaign.

Event names are matched exactly, including case. A campaign configured for purchase will reject a postback reporting Purchase with Unknown event for this campaign.