Is my URL syntax and encoding correct?
If your deep link is not directing you to the specified destination or returning an HTTP 404 error, first check your URL syntax and encoding.
Thank you for reading this post, don't forget to subscribe!URLs typically use this syntax: scheme://host:port/path?query-string#fragment-id
Each part of a URL performs a different function and uses specific characters to identify and separate values. The scheme and host are not case-sensitive but the path and query-string are case-sensitive. A mistake in the composition of your URL will prevent it from opening as it should.
deep links url syntax
When setting up your deep link, pay attention to these conditions:
- If you add an Adjust parameter to a URL query string already containing query parameters, use an &. Otherwise, any information after the second ? in a URL is dropped.
- Correct example: https://abcd.adj.st/my?path=location&client=name&adjust_t=klm012
- Incorrect example: https://z9pm.adj.st/my?path=location&client=name?adjust_t=klm012
- If your query string is encoded, start it with a / or ensure it is part of a deeplink parameter.
If your app is not already installed and these conditions are not met, the adjust_t parameter is dropped by the browser. Adjust needs this parameter to locate the source of the click; without it, we will return the HTTP 404 error URL not found.
Examples
Depending upon how your URL is set up, your deep link can have the following behaviors:
Deep link setup | Example link URL | Behavior |
Link URL + deep_link parameter | https://app.adjust.com/r40ncx7?deep_link=adjust%3A%2F%2F%3Fpath | Opens the app on the specified in-app page |
Universal link | https://abcd.adj.st/%3Fpath?adjust_t=r40ncx7 | Opens the app on the specified in-app page |
Universal link | https://abcd.adj.st/?path&adjust_t=r40ncx7 | Opens the app if it is already installed, but cannot reach the specified in-app page. |
Universal link | https://abcd.adj.st%3Fpath?adjust_t=r40ncx7 | Is invalid and returns an error |