Sales & MarketingComplex automationSeveral jobs working together: multi-stage pipelines with state, branching on rules or AI decisions, approvals or escalations, 4+ systems, AI agents that act, or reconciliation across sources. Usually rolled out in stages.

Finally: which campaigns actually drive revenue

For: D2C cosmetics brand

Typical impact

Wasted ad spend cut 27%

Every night, a pipeline pulls spend from Meta, Google and TikTok, matches CRM orders back to their source campaigns and refreshes a live dashboard showing true cost per customer. Within a quarter, brands typically cut wasted ad spend by around 27%.

Typical results

3.4x

Blended ROAS

₪92

Cost per new customer

6:00

Data fresh every morning

Figures reflect typical results for this kind of automation.

The challenge

Each ad platform claimed credit for the same sales, so Meta, Google, and TikTok dashboards added up to twice the actual revenue. The team compiled a spreadsheet by hand every Monday, always a week stale, and budget decisions ran on platform-reported vanity numbers that quietly rewarded the wrong campaigns.

Before and after

Before With the automation

Cost per new customer

−22%
118 ₪
92 ₪

Blended ROAS

+62%
2.1 x
3.4 x

Weekly reporting time

−89%
9 hrs
1 hrs

The automation

We enforced a clean UTM convention across every campaign, then built a nightly pipeline that pulls spend and impressions from the Meta, Google, and TikTok APIs, pulls orders and customer data from the CRM, and joins them on UTM and order source. Each campaign gets a true cost-per-customer and blended ROAS, refreshed by 6am into a live dashboard with alerts when any campaign burns budget below the profitability threshold.

How it works

  1. 01

    Tag everything

    A clean UTM convention is enforced across every campaign, ad set, and creative.

  2. 02

    Nightly pull

    The pipeline pulls spend and impressions from the Meta, Google, and TikTok APIs every night.

  3. 03

    Match to revenue

    CRM orders are joined back to their source campaigns on UTM parameters and order source.

  4. 04

    True numbers computed

    Each campaign gets a real cost-per-customer and blended ROAS — not platform-claimed conversions.

  5. 05

    Morning dashboard

    By 6am the dashboard is fresh; alerts flag any campaign burning budget below the profitability threshold.

Starts from

  • Ad platform spend
  • CRM orders & revenue

Delivers

  • Live ROAS dashboard
  • Budget burn alerts
  • Weekly campaign report

The impact

Within a quarter, teams typically move about 27% of ad spend away from campaigns that never produced a paying customer. Cost per new customer can fall from around ₪118 to ₪92, blended ROAS climbs from about 2.1x to 3.4x, and Monday reporting shrinks from nine hours to a coffee-length review.

Questions about this automation

Why not rely on each ad platform's own conversion numbers?

Each platform counts conversions its own way, so the same sale is often claimed more than once. The pipeline starts from real orders in the CRM and matches each one to a single source campaign by UTM and order source, so cost per customer is based on revenue that actually came in.

What needs to be in place for the matching to work?

A consistent UTM convention on every campaign, ad set and creative, API access to the ad accounts, and CRM orders that keep their UTM or source fields. The build starts by setting the naming convention, because clean tags are what make the nightly join between spend and revenue reliable.

When does the dashboard refresh, and what triggers an alert?

The pipeline runs every night and the dashboard is fresh by 6am. An alert fires when a campaign burns budget below the profitability threshold the team sets, for example a cost per customer above target. A weekly campaign report is produced from the same data, so everyone works from one set of numbers.

Sales & Marketing

Related automation examples

View all 60 examples

Want this in your business?

We map it to the tools you already use and show you where it saves the most time, in a free 30-minute call.