URL encoding is the practice of converting sensitive sections of complex URLs into code so that they can be read by a server. URL encoding is an essential practice. Without correct encoding, you will lose data.

The same encoding rules apply to callback URLs and tracker URLs.

You need to encode the callback URL only.

Do not encode the Adjust tracker URL and any campaign parameters in the Adjust tracker URL.

The following must always be encoded:

  • Unsafe special characters: @, &, &, +, ,, /, :, ;, =, ?, @, ", <, >, #, %, {, }, |, \, ^, ~, [, ], `, )
  • Spaces ( )
  • URLs as parameter values (e.g., fallback URLs)
  • Parameters within parameters (e.g., Android install referrer values)

While our instructions will specify when you need to encode a significant part of a URL, be aware that you will need to encode any parameter value that contains unsafe characters, i.e., those outside of the ASCII character set. If you are unsure whether a value contains unsafe characters, enter it into a URL encoder; this will convert any sensitive characters in the value. Note that placeholders using curly brackets ({ }do not need to be encoded.

Failure to correctly encode a URL will result in an error on our server, leading to, e.g., malfunctioning fallbacks and redirects and an inability to read and process parameters.

Example: special characters in a callback URL

Unencoded URL


Encoded URL


Example: tracker URL with a URL as a parameter

Unecoded URL


Encoded URL


Example: tracker URL with parameters within parameters

Unencoded URL


Encoded URL


Note: In this example, there is in fact a callback parameter within a URL that is already encoded, meaning that the callback URL value must be double encoded.