The short answer: Affiliate commissions vanish when intermediate redirect hops fail to append query parameters (like ?aff_id=123&subid=xyz) to the new location header, or when an aggressive edge proxy strips unrecognized tracking strings. Tracing the full hop path reveals the exact server dropping your tags.
Why Do Tracking Query Parameters Disappear?
An affiliate link typically travels across multiple servers:
Your Cloaked Link (yoursite.com/go/vpn)
→ Affiliate Network Tracker (network.com/click?id=99&subid=review)
→ Merchant Global Gateway (merchant.com?ref=network)
→ Final Merchant Landing Page (merchant.com/checkout)
If any single server in this 3-hop journey issues an HTTP redirect that replaces the URL without re-appending the incoming query string, your tracking tag is dropped into the void. When the visitor completes their purchase, the merchant's checkout cookie has no affiliate ID attached.
What is Query String Forwarding (QSA)?
If you run custom link cloaking on your own WordPress site or Nginx proxy, you must explicitly enable Query String Append (QSA):
# INCORRECT: Drops all tracking parameters
RewriteRule ^go/([a-z0-9-]+)$ /redirect.php?offer=$1 [L,R=302]
# CORRECT: Preserves incoming ?subid=123&utm_source=fb
RewriteRule ^go/([a-z0-9-]+)$ /redirect.php?offer=$1 [QSA,L,R=302]
301 vs 302 Redirects in Affiliate Marketing
Affiliate links should almost always utilize HTTP 302 (Temporary Redirect) or HTTP 307 for link cloaking.
Why? Because modern browsers cache HTTP 301 responses aggressively. If an affiliate program changes payout links, updates merchant landing pages, or you rotate affiliate offers, visitors who already clicked your link previously will bypass your cloaker entirely and trigger outdated destinations from local browser memory.
How to Test Affiliate Links Before Launching Paid Ads
Before spending hundreds of dollars on Google Ads, Meta Ads, or influencer campaigns, paste your tracked URL into our redirect inspector:
- Verify that every intermediate server retains your
subid,gclid, orttclidparameter. - Ensure no intermediary hop forces an unencrypted HTTP downgrade that breaks secure cookie writing.
- Confirm that the total redirect journey executes in under 600ms to minimize ad bounce rates.