S2S Conversion Tracking Platform
The Problem
Google Ads says you got 70 conversions. Your billing system says 100. That missing 30%? It’s real revenue your ad pixels never saw because ad blockers killed them, iOS privacy changes blocked them, or cookie consent banners rejected them before they could fire.
That’s exactly what was happening to this European e-commerce group running multiple brands across 9 markets. I spotted the gap, proposed a server-to-server approach that cuts the browser out entirely, and architected the whole system from scratch.
The Solution
A centralized S2S platform that receives real-time purchase events from e-commerce and billing platforms, normalizes the data, and routes conversion signals directly to advertising APIs, completely bypassing the browser.
The system follows a 3-stage pipeline:
- Ingestion: authenticated webhooks receive raw order payloads from multiple e-commerce and billing platforms, persisting each payload and queuing it for async processing
- Normalization: queued jobs parse source-specific formats, extract company/product/partner identity, filter test orders, and handle special cases like payment updates and re-expedited orders
- Dispatch: a rules engine matches each order to applicable targets using wildcard-based rules across 3 dimensions (company, product, partner), then dispatches via the appropriate channel
Key integrations included:
- Google Ads API: server-side click conversion uploads with gclid/gbraid/wbraid, hashed PII, and consent signals
- Facebook/Meta CAPI: purchase events with full user data matching, E.164 phone normalization for 14+ countries, and FBC/FBP cookie handling with fbclid fallback synthesis
- Affiliate networks: templated HTTP postback URLs with dynamic variable substitution across 12+ parameters, with full response logging per dispatch
Beyond attribution recovery, the system doubled as a campaign quality monitor, triggering real-time Slack alerts when purchases arrived with missing tracking variables, helping the marketing team catch badly configured campaigns before wasted spend accumulated.
Tech Stack
- Framework: Laravel (PHP)
- Queue: Redis + Laravel Horizon (up to 10 auto-scaling workers)
- Database: MySQL
- Auth: Laravel Sanctum (token-based API)
- Infrastructure: Docker, AWS EKS (Kubernetes), AWS ECR
- CI/CD: Bitbucket Pipelines (automated build, push, deploy on git tag)
- Monitoring: Sentry (error tracking and alerting)
Outcomes
- 103,790+ conversions processed (10-month sample)
- 99,064+ dispatches sent to advertising and affiliate partners
- 76 active dispatch rules routing across 3 brands, 60+ products, and 18 advertising partners
- 9 European + Canadian markets covered
- 100% conversion delivery to the corresponding advertising platform or affiliate network, eliminating the data gaps caused by browser pixel failures