Conversion Tracking Deep Dive
Understand how server-side tracking works and why it captures 2x more data than browser pixels.
Your browser pixel is lying to you.
Every time an ad blocker fires, a cookie expires, or Apple's privacy features kick in, you lose data. Studies show traditional pixels miss 30-50% of conversions.
Server-side tracking changes everything. It captures events where pixels can't reach.
Why Server-Side Tracking?
Let's compare the two approaches:
Traditional (Browser Pixel)
****
User's Browser ā Facebook Pixel ā Meta Server ā Ad Blocker? ā Blocked Safari ITP? ā Cookie expired iOS 14.5+? ā App tracking disabled ****Result: You miss 30-50% of conversions. Your ROAS looks worse than reality. Meta's algorithm optimizes on incomplete data.
Server-Side Tracking
****
User's Browser ā Your Server ā AdsMAA ā Meta/Google ā Ad Blocker? ā
No impact (not in browser) Safari ITP? ā
Server sets cookies iOS 14.5+? ā
Works via server ****Result: You capture 90%+ of conversions. Your data is accurate. Platforms optimize on complete information.
The Real-World Impact
| Metric | Browser Pixel | Server-Side |
|---|---|---|
| Conversions tracked | 54% | 94% |
| Data quality score | 6/10 | 9/10 |
| Attribution accuracy | Moderate | High |
| iOS 14.5+ coverage | ~50% | ~90% |
Translation: If you're spending $10,000/month on ads and only tracking 54% of conversions, you're making decisions based on $5,400 worth of data. That's why some campaigns look like they're failing when they're actually winning.
How It Works
Here's the complete data flow:
****
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā YOUR WEBSITE ā ā ā ā [User Action] ā [JavaScript SDK] ā [First-Party ā ā Cookie Set] ā ā ā ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā Event Data (no PII yet) ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā YOUR SERVER ā ā ā ā [Receive Event] ā [Enrich with Customer Data] ā ā ā ā ā [Send to AdsMAA API] ā ā ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā Enriched Event (with user data) ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā AdsMAA ā ā ā ā [Receive Event] ā [Hash PII] ā [Store in DB] ā ā ā ā ā ā [Deduplicate] [Forward to Platforms] ā ā ā ā ā āāāāāāāāāā“āāāāāāāāā ā ā ā ā ā ā [Meta CAPI] [GA4 MP] ā ā ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ****What Happens at Each Step
- User Action: Customer views product, adds to cart, or purchases
- SDK Captures: Our JavaScript captures the event + context
- Server Enriches: Your server adds customer data (email, phone)
- AdsMAA Processes: We hash PII, deduplicate, and store
- Platforms Receive: Meta and Google get the event via their server APIs
Event Types Explained
We support 19 standard events that map to Meta and Google's event schemas:
E-Commerce Funnel Events
| Event | When to Fire | Key Parameters |
|---|---|---|
| PageView | Every page load | page_url, referrer |
| ViewContent | Product page view | content_id, content_name, value |
| Search | Search performed | search_string |
| AddToWishlist | Wishlist add | content_id |
| AddToCart | Cart add | content_id, quantity, value |
| InitiateCheckout | Checkout started | value, num_items |
| AddPaymentInfo | Payment entered | - |
| Purchase | Order completed | order_id, value, contents[] |
Lead Generation Events
| Event | When to Fire | Key Parameters |
|---|---|---|
| Lead | Form submitted | lead_type |
| CompleteRegistration | Account created | method |
| Contact | Contact form sent | - |
| Subscribe | Newsletter signup | - |
| StartTrial | Trial started | - |
Custom Events
You can also track custom events:
****
javascript adsmai('track', 'CustomEvent', { eventName: 'video_completed', videoId: 'abc123', duration: 120 }); ****User Matching & Privacy
How We Match Users
When you send user data (email, phone), we match it to:
- Previous sessions from that user
- Ad clicks from that user
- Conversions from that user
This enables accurate attribution across devices and sessions.
Privacy-First by Design
| Data Type | How We Handle It |
|---|---|
| SHA256 hashed before storage | |
| Phone | Normalized + SHA256 hashed |
| Name | SHA256 hashed |
| Address | SHA256 hashed |
| IP Address | Truncated + anonymized |
We never store raw PII. When you call identify(), we immediately hash the data.
What You Send:
****
javascript adsmai('identify', { email: '[email protected]', phone: '+14155551234' }); ****What We Store:
****
email_hash: "8c6976e5b5410415bde908bd4dee15..." phone_hash: "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5..." ****This satisfies GDPR, CCPA, and platform requirements while enabling accurate attribution.
Forwarding to Platforms
Meta Conversion API (CAPI)
Every event automatically forwards to Meta if you've connected your pixel:
| Setting | Default | Purpose |
|---|---|---|
| Deduplication | On | Prevents double-counting if browser pixel also fires |
| Advanced Matching | On | Sends hashed user data for better matching |
| Test Mode | Off | Sends to Meta's test endpoint instead |
Event Match Quality (EMQ):
Meta scores your events 1-10 based on how well they match to users:
| Score | Quality | What to Do |
|---|---|---|
| 8-10 | Excellent | Maintain current setup |
| 6-7 | Good | Add more user parameters |
| 4-5 | Fair | Add email and phone |
| 1-3 | Poor | Check your implementation |
Google Analytics 4 Measurement Protocol
Events also forward to GA4 with automatic parameter mapping:
| Our Event | GA4 Event | Parameter Mapping |
|---|---|---|
| PageView | page_view | page_location, page_referrer |
| ViewContent | view_item | item_id, item_name, value |
| AddToCart | add_to_cart | items[], value, currency |
| Purchase | purchase | transaction_id, value, items[] |
Testing Your Setup
Quick Verification
- Install the SDK on your site
- Open your website in a browser
- Go to AdsMAA ā Tracking ā Live Events
- Perform actions (page view, add to cart)
- Events should appear within seconds
Debug Mode
Enable debug logging:
****
javascript adsmai('init', 'YOUR_API_KEY', { debug: true // Logs events to browser console }); ****You'll see: ****
[AdsMAA] Event queued: PageView {url: "/products/shoes"} [AdsMAA] Event sent successfully ****Event Diagnostics
Go to Tracking ā Diagnostics for:
| Check | What It Tells You |
|---|---|
| Events/day | Is tracking active? |
| Error rate | Are events failing? |
| Match quality | How well do events link to users? |
| Deduplication | Is browser+server properly deduped? |
Recap
Here's what you learned:
- Browser pixels miss 30-50% of data due to ad blockers and privacy features
- Server-side tracking captures 90%+ by avoiding browser limitations
- Events automatically forward to Meta CAPI and GA4
- All PII is hashed for privacy compliance
- Testing tools help verify your setup works
Your conversion data is the foundation of everything - AI recommendations, attribution, and optimization. Get this right, and everything else works better.
Next step: Set up customer journey tracking to see the complete path to purchase.
Key Takeaways
- 1Server-side tracking captures 2x more conversions
- 2Works even with ad blockers and iOS 14.5+ restrictions
- 3Automatic forwarding to Meta CAPI and GA4
- 4All personal data is hashed for privacy compliance
Frequently Asked Questions
Do I still need the Meta browser pixel?
How do you handle GDPR consent?
What if my server goes down?
Was this article helpful?
Continue Reading
Understanding Customer Journeys
See the complete path from first click to purchase. Understand which touchpoints actually drive conversions.
integrationsUnified JavaScript SDK
One SDK for all platforms. Auto-loads Meta Pixel, GA4, and Clarity based on your connected integrations.
getting startedQuick Start Guide
Go from zero to tracking in under 10 minutes. No prior experience required.