Skip to content

AnyTrack

PLAYBOOK

Make Your SamCart Funnel Pay for Its Facebook Ads

A $27 front end rarely pays for the ad that sold it. Your bumps and upsells can, once Meta sees every SamCart order at full value and finds them more buyers.

Facebook Ads
Ad click lands on your sales page
arrow-down.svg ui
SamCart
Front end, bump, upsell & downsell
arrow-down.svg ui
logo-alt.svg ui
AnyTrack
One order, full value, matched
arrow-down.svg ui
Meta Conversions API
Value bidding & audiences
↺ Full order values loop back into Meta's bidding and audiences
Playbooks / Make Your SamCart Funnel Pay for Its Facebook Ads
IN THIS PLAYBOOK · 10 SECTIONS
arrow-down.svg ui
The problem

Where Your Data Breaks

“Is this funnel paying for its ads?” If you sell a $27 workshop on SamCart with Facebook ads, you’ve asked yourself that. Say a sale costs $40 in ads. The front end loses $13 on every buyer, and that’s the plan: the order bump and the upsell are there to win it back. Whether they do depends on what Meta sees about each order.

  • Meta counts sales, not order value. Out of the box, Meta’s bidding treats a $27 sale and a $141 order as equals, so it buys more of whichever comes cheaper.
  • Two senders, double sales. When SamCart’s built-in Meta integration and a Purchase script on your thank-you page both report the same order, Meta counts one buyer twice and learns from a sale that never happened.
  • The click and the order live on different sites. The ad lands on your sales page, and the order closes on SamCart. Lose the click at that hop, and you can’t tell which ad paid for itself.

Here’s the play: make the funnel pay for its own ads. It starts with one clean signal. AnyTrack sends Meta one Purchase per SamCart order, at the full value of every funnel step, with the ad click from your sales page attached. Then you run the strategy on that signal: launch, keep the ads that earn back their spend, scale them, switch Meta to value bidding, and split your buyers by order value into new campaigns.

Setup takes about 45 minutes, and you need no developer. You paste one Tag in two places, add one hidden field, connect one webhook, and turn off the old Meta senders.

Outcomes What This Playbook Unlocks
roas-tracking.svg features
Ads that pay for themselves
ROAS for every ad on the full order, bump and upsells included, so you keep the ads that earn back their spend.
data-orchestration.svg features
More upsell buyers
With value bidding, Meta looks for buyers who add the bump and the upsell, not more $27 front-end sales.
party-data.svg features
Audiences by order value
Split buyers by what they spent. Seed lookalikes from $100+ orders, and show the upsell again to front-end buyers.
How it works

From Your SamCart Funnel to One Full-Value Order

Follow the funnel from the Facebook ad through the bump, upsell, and downsell. SamCart sends AnyTrack the whole order, Meta gets one full-value Purchase, and order values seed your next campaigns.

Ad Click
Campaign UTMs on the landing URL
Meta click ID (fbclid) on the click
logo-alt.svg ui
Session Started
Tracking Pixels loaded (Meta Pixel)
fbclid & UTMs collected
AnyTrack Click ID generated & first-party data collected
Links & forms AutoTagged with the Click ID
logo-alt.svg ui
Outbound Click
AutoTracked by the Tag, no code needed
Click ID carried to your SamCart checkout
In the Conversions Report in real time

Steps marked with the AnyTrack node run automatically. No extra code, no manual tagging.

Example Scenario

You’re a coach. You sell a $27 workshop, a $17 workbook as the order bump, and a $97 mini-course as the upsell. Buyers who decline the upsell see a $47 starter course as the downsell. A buyer who takes the bump and the upsell spends $141. Your sales page runs on WordPress, the checkout runs on SamCart, and you spend about $100 a day on Meta, with no developer on call.

Run the numbers. At $40 in ads per sale, the front end alone returns $0.68 for every ad dollar. Now say 30% of buyers add the bump, 20% take the upsell, and 15% of the rest take the downsell. Your average order value (AOV) becomes $57.14, and the same ads return $1.43. The funnel pays for its ads, and every buyer joins your list for free, ready for your next offer. These are example numbers, not benchmarks, so plug in your own.

Four things need to happen:

  • One full-value Purchase per order, sent to Meta by one system, with the ad click from your sales page attached.
  • ROAS for every ad, so you keep the ads that pay for themselves and turn off the rest.
  • Meta bidding on order value, so it looks for more $141 buyers instead of more $27 ones.
  • Audiences by order value, so your best buyers seed new campaigns and front-end buyers see the upsell again.
Prerequisites Before You Begin
  • An AnyTrack account on Starter or above, which the Conversion API requires
  • A SamCart Pro plan or higher, for the order webhook, order bumps, and upsells (on a legacy plan without webhooks, connect SamCart via Zapier)
  • A front-end offer with at least one order bump or upsell
  • Admin access to SamCart and to your sales page builder
  • Access to your Meta ads account and Events Manager

Step 1: Add the Tracking Tag to Your Sales Page and SamCart

The Tracking Tag opens the session when the ad click lands, collects the fbclid and UTMs, and adds the AnyTrack Click ID to your buy buttons. In SamCart, the same Tag tracks the checkout and keeps the Click ID with the order. It goes in both places, every time.

  1. In AnyTrack, create a property for your sales page’s domain.
  2. Copy the Tracking Tag from Property Settings > Tracking Script.
  3. Paste the Tag into your sales page’s header code, in your page builder’s custom code settings.
  4. In SamCart, click your profile icon and go to Settings > Tracking & Pixels.
  5. Paste the Tag into Embed HTML/Scripts in Header.
  6. Turn on Fire Pixels Before Redirect.
  7. Enter atclid in Content URL parameter.
  8. Click Add Parameter and enter atclid.
  9. Save.

Step 2: Add a Hidden Click ID Field in SamCart

The hidden field gives SamCart a second place to keep the AnyTrack Click ID with each order, next to the Content URL parameter from Step 1. SamCart’s webhook returns the Click ID with the order, and that’s how AnyTrack ties every sale to the ad click that started it.

  1. In SamCart, go to Custom Fields > New Custom Field.
  2. Set both Name and Label to atclid.
  3. Select Hidden as the field type.
  4. Save.

Step 3: Connect SamCart to AnyTrack

SamCart’s webhook sends AnyTrack the whole order when the funnel ends: the front end with its bump, and every upsell or downsell the buyer took. The webhook comes from SamCart’s server, not from a pixel on your thank-you page. AnyTrack turns each SamCart order into one Purchase with the full total and every product. Value bidding learns from that total, and your value audiences filter on it.

  1. In the AnyTrack Integration Catalog, install SamCart and copy the webhook URL.
  2. In SamCart’s App Marketplace, install the Webhooks app and paste the webhook URL.
  3. Create a webhook rule with Rule Type Global Rule, Action Send Notify URL for POST for Orders, and Trigger Order Completed.
  4. In AnyTrack, open Property Settings, select your property, and expand the Samcart section.
  5. Turn off Enable client side purchase tracking, then click Save.

With the toggle and the webhook both active, AnyTrack records every order twice. Check the toggle even if you never turned it on: properties connected before May 2025 can have it on. The toggle covers purchases only, so the Tag keeps tracking InitiateCheckout on your checkout. If you use SamCart’s Slide Checkout, also turn on Enable Slide checkout in the same section.

Step 4: Make AnyTrack Meta’s Only Purchase Sender

Value bidding learns from what each order is worth. If two systems report the same order, Meta sees two buyers where you had one. So keep one sender: the one that carries the ad click.

Do this step in one sitting

Between turning off SamCart’s Meta Pixel Tracking and turning on AnyTrack’s Conversion API, Meta gets no purchases. Do both back to back.

First, retire the old senders:

  1. In SamCart, click your profile icon, go to Settings > Tracking & Pixels, and turn off Meta Pixel Tracking.
  2. On the same tab, delete any Meta code from the header and footer script boxes. Keep the AnyTrack Tag.
  3. Open each product’s Advanced tab and delete any Meta code from the header, the footer, and Fire pixels/scripts after an order is completed.
  4. Go to Apps > Installed Apps and disconnect the Facebook app if you see it.
  5. Remove the Meta Pixel and any Purchase script from your sales page and your thank-you page. The Tag loads the Meta Pixel for you.

Then connect Meta in AnyTrack:

  1. Go to Tracking Pixels, add a new pixel, and click Connect Facebook Pixel.
  2. Follow the prompts to connect your Business Manager, the Meta Pixel your campaigns already use, and your ad account.
  3. Turn on Server-to-Server Tracking, then save.

Your campaigns keep optimizing on the same pixel and the same Purchase event. Only the sender changes. From here, the Tag loads your Meta Pixel and sends only PageView from the browser. Every InitiateCheckout and Purchase reaches Meta through the Conversion API, deduplicated by event ID. Your connected ad account syncs its spend into the Campaign Report, next to the revenue from your SamCart orders. That pairing gives you ROAS for every ad.

Step 5: Place a Test Order

Prove the signal before you spend on it.

  1. In Meta Events Manager, open your pixel’s Test Events tab and copy the test event code.
  2. In AnyTrack, open Tracking Pixels > your Facebook Pixel and paste the code into Test Event Code, in the Facebook Conversion API section.
  3. In SamCart, turn on Test Mode.
  4. Open your sales page, click through to the checkout, and complete a test order with the bump and the upsell, through to the thank-you page.
  5. In AnyTrack, open the SamCart integration’s Events Log and find one Purchase with the full order total.
  6. In Meta’s Test Events tab, find one Server Purchase with the same value, usually within 30 seconds.
  7. Delete the test event code in AnyTrack and turn off Test Mode in SamCart.

After your first real orders, open Purchase in Events Manager. It should come from Server only. A Browser Purchase means a second sender is still live, so go back to Step 4. If two senders reported your orders before, Ads Manager now shows fewer purchases, each at its full order value. That drop is the double count leaving, not lost sales. The Meta CAPI Test Mode guide covers the test tools in detail.

Step 6: Launch the Campaign Stack

Launch day. Two campaigns fit a $100-a-day funnel: one finds new buyers, and one wins back checkout abandoners. Both carry the UTM Tracking Template, so the Campaign Report ties every order to the ad that earned it.

  1. In AnyTrack, open Tracking Pixels > your Facebook Pixel > Ads Integrations and copy the UTM Tracking Template.
  2. In Ads Manager, paste it into the URL parameters at the campaign level of both campaigns.
  3. Back in Ads Integrations, click Verify Ads Settings. A green mark next to each campaign means the template is in place.

Prospecting: the front-end offer

Your main engine. It sells the $27 workshop and lets the bump and the upsell lift the order.

  • Destination: your sales page, with the UTM Tracking Template at the campaign level.
  • Budget: $80 of your $100 a day, in one campaign with one ad set and 3 to 5 ads, so Meta’s learning isn’t split thin. Hold the budget steady through the first week. A large budget change can send the ad set back into learning.
  • Audience: Advantage+ audience, with buyers excluded: a website custom audience of Purchase, 180-day window.
  • Event tracking: generates the InitiateCheckout events that fill the abandoner audience and the Purchase events that fill the buyer exclusion.
  • Conversion objective: Sales, optimized for InitiateCheckout at launch. At $40 a sale, $80 a day buys about 14 purchases a week, far from the roughly 50 a week Meta’s learning wants. Checkouts come in faster. Move up to Purchase at about 50 purchases a week, then to Maximize value of conversions when your volume meets Meta’s recommendation (see the loop below).

Retargeting: checkout abandoners

The warmest people in your account: they opened the checkout and left.

  • Destination: your SamCart checkout page, with the same UTM Tracking Template. The Tag in SamCart collects the click there.
  • Budget: the other $20 a day. The audience size is the ceiling, so raise the budget only as the pool grows.
  • Audience: a website custom audience of InitiateCheckout minus Purchase, 7-day window.
  • Event tracking: fed by the InitiateCheckout events from your SamCart checkout; generates the Purchase events that move buyers out of this audience.
  • Conversion objective: Sales, optimized for Purchase. The audience is small and already warm, so it needs no ladder.

The Optimization Loop

Here’s what happens with nobody at the keyboard. A buyer orders the workshop and takes the upsell. SamCart sends the whole order when the funnel ends, and Meta gets one Purchase worth $124 with both products, tied to the ad that started it. The buyer drops out of the abandoner audience and into the buyer exclusion, so you stop paying to reach them. At $124, the order also counts toward your $100+ buyer audience, which gets your next offer and seeds your lookalike. Every new checkout refills the abandoner pool, and every order shows Meta one more example of who buys and how much they spend. Meta folds these events into delivery on its own schedule, not the second they arrive. Still, each order leaves your campaigns better informed than the one before.

Your part is a weekly pass with three tasks, and each one feeds that loop more or better signal:

  1. Measure. Open the Campaign Report and drill down to your ads. Read ROAS for each ad. 1.0 is your break-even line: at 1.0 or more, the ad pays for itself. Divide revenue by purchases for your AOV. A rising AOV means Meta is finding more bump and upsell buyers.
  2. Improve. Turn off ads still under 1.0 after they’ve spent about three times your cost per sale, a common test budget. Meta moves delivery to the ads above the line. When the campaign holds 1.0 or more for a week, raise its budget by about 20%, and repeat while ROAS holds. Tune the abandoner window as you go: shorter when the same people see your ads too often, longer when the pool runs dry. Then split off a 3-day InitiateCheckout minus Purchase audience as your hottest abandoner tier, with its own ad, and exclude it from the 7-day ad set. Scaling also moves prospecting up the ladder:
    • At about 50 purchases a week, switch the optimization event from InitiateCheckout to Purchase. Expect the ad set to re-enter learning.
    • At Meta’s recommended volume for value bidding, at least 100 purchases with at least 5 different values in 14 days, switch to Maximize value of conversions and test it for at least 3 weeks.
  3. Expand. As ROAS holds and your budget grows, split your buyers by order value. Give each group its own campaign, with the UTM Tracking Template from Step 6:
    • Upsell retargeting. Build a website custom audience of Purchase with a value under $50, 30-day window. These buyers bought the front end, with or without the bump, and skipped both offers. Show them the mini-course again, and exclude Purchase with a value of $97 or more, so buyers drop out once they take it.
    • Next offer to $100+ buyers. Build a website custom audience of Purchase with a value of $100 or more, 180-day window. In this funnel, $100 or more means the buyer took the upsell: they already said yes to a $97 offer. Show them your next, bigger one.
    • Lookalike of $100+ buyers. Once 100 or more people have ordered $100 or more, seed a 1% Lookalike Audience from the same audience in a new prospecting campaign. At $100 a day, about 15 buyers a month take the upsell, so plan this campaign for after you scale.

Each pass builds on the last. Your orders decide who Meta looks for next, and the buyers it finds raise the AOV that pays for the next round of ads.

Frequently Asked Questions

SamCart already sends my sales to Meta. Why add AnyTrack?

For the strategy, not the sale. AnyTrack carries the ad click from your sales page to the order, sends Meta one Purchase per order at its full value, and shows ROAS for every ad from the same orders. Keep one sender only. If SamCart's Meta integration stays on next to AnyTrack, Meta counts each order twice.

Do I need a developer for this setup?

No. You paste one Tag in two places, create one hidden field, and set up one webhook rule. Everything else is a toggle or a copy and paste.

Do bumps, upsells, and downsells count as separate purchases?

No. SamCart sends the whole order in one webhook when the funnel ends: the front end, the bump, and every upsell or downsell the buyer took. AnyTrack records it as one Purchase, and Meta gets one Purchase with the full total and every product.

When do I switch to value bidding?

When your purchase volume supports it. Meta recommends at least 100 purchases with at least 5 different values in 14 days. Test it for at least 3 weeks, first without a ROAS goal. Expect a higher cost per sale and fewer sales, and judge the test by ROAS and average order value.

My ads go straight to my SamCart checkout. Does this still work?

Yes. The Tag in SamCart opens the session on the checkout page and collects the fbclid and UTMs there. Skip the sales page part of Step 1 and do the rest as written.

Do I need Cross-Domain Tracking for my sales page and SamCart?

No. The Tag on your sales page adds the AnyTrack Click ID to the links that point to SamCart, and SamCart returns it with each order. One property covers both sites.

I accept PayPal. Will PayPal take the credit for my sales?

Not after you add paypal to Ignored Sources. Open Property Settings, select your property, open the Settings tab, and add paypal under Attribution Settings. The ad click then keeps the credit. The change applies to new data only.

Wrapping Up

Here’s what you shipped:

  • One Purchase per SamCart order, with every funnel step in the full order value and AnyTrack as the only sender, so no order counts twice.
  • ROAS for every ad, so you keep the ones that pay for themselves.
  • A prospecting and abandoner stack, with a ladder from InitiateCheckout to value bidding.
  • Audiences by order value: the upsell again for front-end buyers, and your next offer plus a lookalike for upsell buyers.

Chealsea Wierbonski, Group Product Manager at Google, also runs a business on SamCart and Meta Ads. In Chealsea’s words, AnyTrack “solved my biggest challenge”: “accurately tracking my entire funnel across Samcart and Meta Ads.”

The front end gets you the buyer. The bump and the upsell pay for the ad. Now Meta can tell the difference.

Ready to Feed Your Ad Platforms Better Data?

One Tracking Tag. Every conversion signal, sent server-side to every platform you run. Set up this playbook in under an hour.

No credit card required