Introduction
A global retail client using affiliate marketing through Awin required validation of their checkout tracking. We noticed that the native app journey was tracking affiliate identifiers accurately, and the web checkout introduced discrepancies in attribution and, more critically, triggered consistent payment failures.
This was an investigation done to understand how the affiliate identifiers were handled and whether attribution was accurately done or not, and why payments failed when the journey began from an Awin test URL.
Background
The client relied on deep linking for traffic attribution via the Awin test URL, from clickthrough to checkout confirmation, the identifiers should propagate through the journey.
- Affiliate Tracking Gaps— During web checkout, affiliate identifiers were not accurately tracked, potentially misattributing sessions in GA4 as “App Referral.”
- Payment Failure – Transactions failed for all payment methods when the journey began with the Awin test URL.
These issues presented both a regulatory and marketing challenge:
- Could lead to incorrect reporting and under-recognition of affiliate-driven traffic.
- Failed checkouts represented a direct business risk.
Project Goals
The project was designed to validate the following:
- Affiliate Tracking Integrity
- Confirm that Awin identifiers persist consistently across app and web journeys.
- Ensure GA4 attribution reflects Awin traffic, not “App Referral.”
- Payment Functionality Validation
- Identify whether payments fail only when traffic originates from Awin.
- Rule out build, device, or environment-specific anomalies.
- Systematic Testing
- Conduct tests across multiple devices, builds, users, categories, and times to confirm whether the issue is systemic.
Implementation Steps
Test Coverage
-
- Platforms: iOS & Android.
- App Builds: Latest, second-to-latest, and variant builds.
- Users: Multiple test users.
- Journeys: Click & Collect and Home Delivery.
- Products: Multiple categories, several products per category.
- Payments: Visa, Mastercard, Amex.
- Timing: Four days, different times of day (accounting for staging server availability).
- Debugging Tool: Charles Proxy used for validation.
Native App Journey Validation
-
-
- cread.php requests observed (sometimes duplicated due to “Open in App” prompts).
- cread.php requests observed (sometimes duplicated due to “Open in App” prompts).
-
-
- alt.php requests are correctly sent with query string parameters.
- alt.php requests are correctly sent with query string parameters.
-
- Tealium Collect consistently captured deep_link_url and deep_link_params.
- Tealium Collect consistently captured deep_link_url and deep_link_params.
-
- Affiliate identifiers remained intact across Homepage → Category → Checkout (native).
Web Checkout Validation
-
-
- On entry to checkout, UTM parameters dropped Awin data.
- On entry to checkout, UTM parameters dropped Awin data.
-
-
-
- Only the awin_channel cookie persisted, but without a unique identifier.
- Only the awin_channel cookie persisted, but without a unique identifier.
-
-
-
- Payments were consistently refused across all methods when the journey started with the Awin test URL.
- Payments were consistently refused across all methods when the journey started with the Awin test URL.
-
-
-
- Payments succeeded when starting without Awin.
-
Results and Benefits
Native App Flow (Positive)
- All payloads for Awin were tracking accurately.
- Attribution is fully maintained in GA4
- No disruption to payment flows was noticed.
Web Checkout Flow (Problematic)
- Attribution Loss: Awin identifiers dropped; GA4 misattributed sessions as “App Referral.”
- Cookie Limitation: A generic awin_channel cookie persisted, which was insufficient for affiliate tracking.
- Payment Blocker: Transactions consistently failed when starting with an Awin test URL.
- Consistency: The issue happened on both iOS and Android, across all builds. It affected various devices, users, journeys, products, and timings. This indicates that it’s a systemic problem rather than tied to one environment.
Impact
- Affiliate Tracking Risk: Potential under-reporting of affiliate traffic due to incorrect attribution in GA4.
- Payment Failure: Potential business threat as payments via Awin were incomplete.
- Systematic Issue: Tied to builds, devices, or users, confirmed as a systemic tracking and checkout flaw.
Next Steps
Production Validation
- The production app is not debug-enabled.
- Plans Tealium EventStream to confirm if Awin identifiers persist into checkout and payment stages.
Technical Investigation
- Validation for any interference with the awin_channel cookie during payment authorisation.
- Assessing whether 302 redirects from php impact session handling.
- Determining the reason for payment failure only during a specific journey.
Mitigation Strategy
- Confirm the identifiers are consistently propagated during checkout via enriched cookies or persistent query params.
- Ensure that tagging-related disruption does not occur for the payment authorisation in the staging and production environments.
Conclusion
Using Awin, the affiliate identifiers track the native app journey accurately while preserving attribution integrity. However, the web journey checkout raises two critical problems: misattribution due to lost affiliate identifiers and consistent payment failures.
So far, no solution has been applied to the issue at hand. Further investigation is needed on the production validation, and technical aspects are required to confirm the issue persistence over the live environment and design mitigation strategies.
This case study captures Phase 1 of the investigation. A follow-up study will report more on production validation outcomes and any applied fixes.