A method comprising: receiving, at a server, from a client device, a request associated with an existing valid contextual deep link, the contextual deep link associated with link data indicating a particular configuration of an application, the request transmitted by the client device in response to a user interacting with the contextual deep link; retrieving (520, 540), responsive to determining based on information in the request that the client device has stored an indicator of a previously generated fingerprint identifying the client device, stored contextual information for the client device associated with a locally stored fingerprint indicated by the indicator of the previously generated fingerprint; associating the link data for the valid contextual deep link with the locally stored fingerprint; transmitting, to the client device, a response that is selected based on the contextual information of the client device, the response including a redirect instruction that is customized for the client device using the contextual information identified for the client device; receiving, from the application that is executed on the client device in response to the redirect instruction, a link data request and a fingerprint generated by the application, the link data request transmitted by the application of the client device in response to the redirect instruction, the link data request requesting the link data that defines the particular configuration of the application; selecting the link data identified by locally stored fingerprint matching at least a threshold number of elements of the received fingerprint; and transmitting, to the application of the client device, the link data. receiving, at a server, from a client device, a request associated with an existing valid contextual deep link, the contextual deep link associated with link data indicating a particular configuration of an application, the request transmitted by the client device in response to a user interacting with the contextual deep link; retrieving (520, 540), responsive to determining based on information in the request that the client device has stored an indicator of a previously generated fingerprint identifying the client device, stored contextual information for the client device associated with a locally stored fingerprint indicated by the indicator of the previously generated fingerprint; associating the link data for the valid contextual deep link with the locally stored fingerprint; transmitting, to the client device, a response that is selected based on the contextual information of the client device, the response including a redirect instruction that is customized for the client device using the contextual information identified for the client device; receiving, from the application that is executed on the client device in response to the redirect instruction, a link data request and a fingerprint generated by the application, the link data request transmitted by the application of the client device in response to the redirect instruction, the link data request requesting the link data that defines the particular configuration of the application; selecting the link data identified by locally stored fingerprint matching at least a threshold number of elements of the received fingerprint; and transmitting, to the application of the client device, the link data.