What I learned about Ecommerce Customer Acquisition as a Meta and Reddit ads Engineer

What I learned about Ecommerce Customer Acquisition as a Meta and Reddit ads Engineer

What I'll Cover (In less than 10-minutes)👇

→ How to identify whether your data tracking is foolproof

→ How to activate the tracked data to boost marketing ROI

→ A simple technical deep dive so you can do it yourself

Are you struggling with Meta Ad performance and want to get 20% more Klaviyo revenue? Book a demo to hear directly from an ex-Meta Engineer 

I've used this method across 120+ companies in 2024 to provide incredible results. I even covered this in a Reddit post that went viral (#1 post in r/digital marketing).

I’ve always been a huge fan of reddit (which is a huge reason of why I worked there!). I’ve been a contributer to major subreddits like r/facebookads and r/digitalmarketing to help others understand how to make their ads perform better.

Last week, I synthesized my expertise and tried to answer the question that many people were asking: “why aren’t my ads performing?”. I shared the exact strategy I have been using with 120+ brands over the past year.

The people loved it for its transparency and practicality. It is the #1 post of all time on the r/digitialmarketing subreddit. Read it here.

The strategy behind it all

I’m an ex-Meta and ex-Reddit engineer. I’ve spent over 8 years working on the algorithm side of major ad platforms and learning the ins and outs of what makes a ad perform better.

Based on my experience helping 120+ brands since leaving Meta, here's what actually works:

1. Optimization

From my time building Meta's ad delivery system, I know this is crucial. Your website needs perfect technical implementation or you're throwing money away. Key technical elements that feed into ad algorithms:

  • Server-side API integration (crucial since iOS 14)

  • First-party cookie implementation

  • Advanced matching parameters

  • Custom conversion events

  • Real-time event logging

Most importantly: track every meaningful user interaction server-side. At Meta, we saw 3-4x better ad performance with proper server events vs client-side only.

2. First-Party Data Collection

This is what powers modern ad algorithms. Essential data points to collect:

  • User behavior patterns

  • Conversion paths

  • Time-to-conversion

  • Cart abandonment signals

  • Feature usage metrics

Pro tip: Log these events immediately server-side. There's a 30% data loss on average with client-side only. This means having your own first party data pixel or first party intelligence app instead of relying on third party pixels like the default you get from Meta, Google, or whatever ad platform you're using.

3. Algorithm Optimization

Having built these systems, here's what actually matters:

  • Event quality scores. These are more accurate when tracked server-side instead of a third party pixel.

  • Server-side conversion matching

  • Bidding strategy alignment

  • Creative performance signals. This one is most obvious.

The algorithm weighs server-sent signals 2-3x more than pixel data.

4. Email Engagement

I'm a huge advocate of having a combination of paid and email marketing. When they work in tandem, you get the highest quality signals that can feed into each other for retargeting. Here's some flow that people usually miss:

  • abandoned cart for ecommerce

  • abandoned intent for b2b

Note that abandoned cart/intent are explicitly different from abandoned checkout. At the checkout stage, you've already collected email address and have high-intent for conversion. Email marketing is going to be even more effective at the stage right before. For ecommerce, its going to be at the point of adding the cart. For B2B, it could be viewing the pricing page.

Most people don't implement these flows because it often requires some manual work but if you're able to stitch user sessions across their history, you can use your cookies to understand if the visitor has shown interest in purchasing before and have a specific email flow for it! This is probably the most underrated solutions.

Pro Tip: Sync email engagement data back to ad platforms via server events. This improves targeting by 25-30%.

The key is quality first-party data feeding into platforms' algorithms. With proper implementation, I regularly see 2-3x ROAS improvement.

A technical deep dive on how you can do this yourself

When I was at Meta building the conversion matching system, we discovered something crucial: server-side events were getting weighted significantly higher in our models compared to client-side pixel events. This wasn't just about data reliability – it was about surviving in an increasingly privacy-focused web.

Let me explain why this matters more than ever:

Safari's Intelligent Tracking Prevention (ITP) deletes ALL client-side storage (including your precious Meta pixel data) after just 7 days of user inactivity. Even worse, if users come from Facebook (with those fbclid parameters in the URL), your client-side cookies are limited to just 24 hours. This is why we saw massive drops in performance for clients only using the basic Meta pixel.

What Actually Works: Server-Side Implementation

The secret to maintaining accurate tracking isn't sending more data – it's sending smarter data through the right channels. Here's what actually happens behind the scenes:

1. Direct Server Communication

When your server talks directly to Meta's Conversion API (CAPI), you bypass most privacy restrictions because you're not relying on browser storage. This means longer attribution windows and better matching.

2. Progressive Identity Building

Instead of relying on a single tracking point, you want to build user identity progressively:

  • First visit: Capture basic server-side parameters

  • Email submission: Add hashed email identifier

  • Phone submission: Layer in additional identity data

  • Purchase: Include transaction details

Each step strengthens Meta's ability to match users to ads, improving your ROAS.

Common Pitfalls I See Daily

  1. Incorrect Parameter Hashing

The number one issue I see is improper hashing of user data. Meta requires specific hashing formats, and getting this wrong tanks your match rates.

2. Poor Timing Implementation

Your server needs to send events in real-time. I've seen companies batch these events and send them hours later – this destroys the temporal connection between user actions and ad interactions.

3. Missing Deduplication

If you're running both server and client events, you need proper deduplication or you'll mess up your attribution data. This is probably the most requested topic from my last post, so let me break down deduplication properly:

When running both server-side and client-side tracking, you need to prevent duplicate events or you'll mess up your reporting. Here's the proven approach I've implemented across hundreds of accounts:

  1. Event ID Management: Generate a unique ID for each event on your server. Pass this same ID to both your client-side pixel and server-side CAPI calls. Meta will automatically deduplicate events with matching IDs.

  2. Event Sources: Always set the 'action_source' parameter correctly, use 'website' for client-side events, use 'system_generated' for server-side events. Meta uses this to determine event priority when deduplicating.

  3. Timing Window: Server events should be sent within 7 seconds of the client event. This helps Meta's system confidently match and deduplicate them. If you're sending events later, you risk double-counting or missing attributions entirely.

Pro Tip: When in doubt, prioritize your server-side event. It contains more reliable data and better matching parameters. If you have to choose just one (like during checkout flow issues), go with server-side.

A 1-click no-code alternative:

While working with brands post-Meta, I realized most teams struggle with technical implementation. That's why I built Aimerce – a tool that handles all of this automatically for ecom and B2B. It manages server-side setup, progressive identity building, and proper deduplication in 1-click. Check it out if you want to save weeks of development time. Of course, you can implement everything manually using the principles above!

-Yiqi

Want to learn even more about Meta? (It's free)

Book a call with us here: