Why does the DirectLink tracking not work?

To understand why DirectLink tracking might not work it is essential to understand how the DirectLink tracking actually works. DirectLink tracking is designed for affiliates who have their own websites and it basically allows these affiliates to use simple links without any affiliate parameters pointing to your website on their websites.

So let's say you have an affiliate who owns a website www.myaffiliatesite.com where this affiliate wants to promote your website. The affiliate can add myaffiliatesite.com* and *.myaffiliatesite.com* as DirectLink URLs into the system and once these are approved by the merchant the affiliate can use simple links pointing to your website like https://www.yoursite.com on the affiliate's website.

When a customer is then redirected from your affiliate's website to your website where you have the click tracking code integrated the software will look for HTTP_REFERRER field of the request which should contain the URL address of the website from which the visitor was redirected so in our case www.myaffiliatesite.com. It will look whether there isn't any DirectLink URL pattern matching this HTTP referrer and since it will find a match it will track the customer under the affiliate to whom the matching pattern belongs.

This method works based on HTTP referrer parameter which identifies the website from which the customer came to your website.

HTTP_REFERRER can also be empty in many cases in which the tracking won't work. These cases are described here.
DirectLink URLs won't work with Facebook, since Facebook always posts for HTTP_REFERER value only "https://www.facebook.com/"
NEVER EVER allow your domain name as DirectLink pattern for any of your affiliates since it would assign all visitors of your website to the affiliate for whom you allow this.

So this is how you would debug DirectLink which is not tracking:

1. Support DirectLink tracking checkbox in Configuration->Tracking settings has to be checked

2. DirectLink URL for the affiliate has to be approved, the affiliate himself has to be approved and the URL has to be set for an approved campaign in which this affiliate is approved (in case of Private Campaigns). If the DirectLink URL doesn't have any campaign then default campaign is selected. Network account in case of Post Affiliate Network whose default campaign would be used would be determined by the ID in the click tracking code on the resulting website.

3. In case of Post Affiliate Network the click tracking code on the website has to have correct account ID under which the directlink should track.

4. HTTP referrer must be set at the website with click tracking code so in the click tracking request you need to see it.

5. HTTP referrer must match the paterns defined for the affiliate.


The point in having 2 DirectLink URLs for each affiliate like myaffiliatesite.com* and *.myaffiliatesite.com* is to match both www.myaffiliatesite.com and myaffiliatesite.com. You could set up a single pattern like *myaffiliatesite.com* but in that case it would match also all the different domains like for example www.anothermyaffiliatesite.com since myaffiliatesite.com is part of the domain name.


Please, tell the affiliates to use the 'Pattern & Real url' test in their panel where they are defining their DirectLink URLs in order to be sure their DirectLink URL definition will meet their requirements.
If you need more information about DirectLinks, please, click here.

NOTE: Hyperlinks used in some website that is defined as a 'DirectLink URL'  must lead directly  without any additional redirect to a landing page integrated with the click tracking code or else the HTTP referrer will most probably not be set correctly.