Query parameters on Short links

Adjust short links can now accept query parameters appended directly to the short link URL, at the time it is clicked or distributed. Previously, only the query parameters baked into the original long link at creation time were used, and anything appended to the short link itself was dropped. With this behavior, you can append parameters — either recognized Adjust parameters or your own custom parameters — directly to a short link, and Adjust passes them through to the resolved long link and app experience.

Key benefits:

  • Simpler referral campaigns — distribute one short link and append a unique referral code per user, instead of generating a new short link for every referrer
  • Reusable link templates — bake in fixed campaign parameters once, and populate variable parameters at distribution time
  • Shorter partner and network links — pass fixed parameters in the short link and let partners append variable macros at click time
  • Override support — a parameter appended to the short link takes precedence over the same parameter already baked into the underlying long link
  • Works everywhere — supported on both legacy app.adjust.com short links and branded go.link short links

What does it do?

Query parameters on short links let you attach additional information to a short link at the moment it's clicked or shared, rather than only being able to set parameters when the short link was originally created. Adjust distinguishes between two categories of parameters:

  • Recognized parameter: A parameter Adjust already understands, using the adj_ prefix (for example adj_label, adj_campaign, adj_adgroup, adj_creative). These follow their normal, existing behavior once accepted from the short link — for example, adj_label continues to be available only in raw data logs and callbacks, not in aggregate Datascape reporting.
  • Custom parameter: Any parameter not recognized by Adjust (for example, a client-defined parameter like customparam). These are passed through to the app as part of the resolved link data, but are not processed by Adjust's measurement systems.

Use cases

Easier referral campaign setup Instead of calling the API to create a unique short link for every referrer, append a dynamic referral code to a single short link using the adj_label parameter: example.go.link/refer-a-friend?adj_label=Referral_code

Link templates A link admin creates one short link template with fixed parameters already baked in. Variable parameters — such as adj_creative — are then populated per row using spreadsheet formulas and appended as query parameters at distribution time: example.go.link/summer-sale?adj_creative=[POPULATED WITH SPREADSHEET FORMULA]

Shortening partner links Pass fixed parameters in the short link itself, and let an ad partner or network resolve variable macros and append them as query parameters at click time. This is useful when a partner's ad inventory has character limits that prevent using the full long link: example.go.link/summer-sale?adj_creative={{creative}}

What it doesn't do

Query parameters on short links cannot be used to override the redirect or fallback destination of a short link. Parameters such as adj_redirect, adj_fallback, and platform-specific redirect overrides (for example adj_redirect_macos) are not accepted as short link query parameter overrides. This restriction exists for security reasons, to prevent a short link's configured destination from being redirected elsewhere by an appended parameter. All other recognized and custom parameters behave as described in this article.

How does it work?

When a short link is clicked, Adjust resolves it to its underlying long link and evaluates any query parameters appended to the short link URL alongside the parameters already present in that long link.

  • Recognized parameters: If a query parameter appended to the short link is one Adjust recognizes, it is added to the resolved long link, and its standard behavior for that parameter applies.

  • Override behavior: If the same recognized parameter is already present in the underlying long link, the value appended to the short link at click time takes precedence over the value baked into the long link. For example, if the underlying long link contains adj_campaign=Summer, and the short link is clicked as example.go.link/summer-sale?adj_campaign=Winter, the resolved value used is campaign=Winter.

  • Custom parameters: If the appended parameter is not recognized by Adjust, it is still accepted and included in the long link response sent to the app. For example:

    • Short link clicked: https://example.go.link/summer-sale?customparam=XXXX
    • Underlying long link: https://example.go.link/?adj_t=abc123&campaign=123&adgroup=456&creative=789
    • Value passed to the app: https://example.go.link/?adj_t=abc123&campaign=123&adgroup=456&creative=789&customparam=XXXX

    Custom parameters passed this way are not ingested by Adjust systems and do not appear in aggregate reports or raw data logs/callbacks — they are available only to your app, for example to customize the in-app experience.

  • Coverage: This behavior applies to all Adjust short links, including legacy app.adjust.com links and go.link branded short links. There are no domain-based restrictions.

  • Security exception: Redirect and fallback destination parameters (adj_redirect, adj_fallback, and platform-specific variants) are excluded from this override behavior — see What it doesn't do.

Get started

This behavior is available by default on all Adjust short links and does not require enabling any setting, package upgrade, or add-on. There are no SDK version or platform requirements specific to this behavior — it is enforced when Adjust resolves the short link click, before the deep link is delivered to the app.

Setup summary

  1. Determine which parameters to append
  2. Append the parameters to your short link
  3. Verify the resolved behavior

Step 1: Determine which parameters to append

Decide whether you need a recognized Adjust parameter (for example adj_label, adj_campaign, adj_adgroup, adj_creative) or a custom parameter specific to your own use case. Recognized parameters are processed by Adjust's measurement systems; custom parameters are passed through to your app only.

Note: Redirect and fallback override parameters (adj_redirect, adj_fallback, and platform-specific variants such as adj_redirect_macos) cannot be appended as overrides — see What it doesn't do.

Step 2: Append the parameters to your short link

Add the parameter as a standard query string to the short link URL, for example: example.go.link/summer-sale?adj_label=Referral_code

If the parameter is already present in the underlying long link, the value you append here overrides it once the link is clicked.

Step 3: Verify the resolved behavior

Click the short link with your appended parameter and confirm the expected value is used — for a recognized parameter, check the raw data logs or callback payload for that click; for a custom parameter, check the data your app receives when handling the deep link.

Manage query parameters on short links

There is no setting to turn this behavior on or off — it applies automatically to all short links. The redirect/fallback override restriction described in What it doesn't do is similarly enforced by default and is not configurable.

Reporting

  • Recognized parameters follow their normal reporting behavior once accepted from a short link. For example, adj_label is available in raw data logs and callbacks, but not in aggregate Datascape reporting — this is unchanged by how the parameter was supplied.
  • Custom parameters passed through via short link query parameters are not ingested by Adjust systems. They do not appear in aggregate reports, raw data logs, or callbacks — they are only available in the data delivered to your app.

Testing

To confirm your setup is working as expected:

  1. Click your short link with the appended query parameter(s).
  2. For recognized parameters, check the relevant raw data log entry or callback to confirm the expected value was captured.
  3. For custom parameters, confirm your app receives the expected value in the resolved deep link data.
  4. If you are relying on the override behavior, confirm that the value appended to the short link — not the value baked into the underlying long link — is the one reflected in your results.

Next steps

For further questions, contact support@adjust.com.