Skip to content

Ad campaigns and posts as CRM items, metrics written back every day

Seven Make scenarios register Facebook and Google campaigns and Facebook posts as CRM items, write each one's metrics back by id every day, and mirror every lead's stage onto the same board.

Sync & integrationFlow2026

Where this applies

Marketing teams that want ad and social performance next to their leads, in the CRM, rather than in each platform.

scenarios: create, update and mirror
7
lead-stage mirrors, no errors
752
errors: two API failures, one rate limit
3

The problem

Marketing performance lives in each ad platform, and leads live in the CRM. To see which campaign produced leads that became students, someone has to join them by hand.

The join has to be automatic, daily, and keyed on something that does not change when a campaign is renamed.

What we built

01

Create, then update

For each channel, one scenario registers new campaigns or posts as CRM items and another writes metrics onto them. The platform's own id is stored on each item and is the join key, so renaming a campaign breaks nothing.

02

A daily timeline

In account time, new Facebook and Google campaigns are registered at 14:00, insights are written at 14:30, new posts are registered at 23:55 and post insights written at 23:59, so each update runs after its create.

03

The right grain

A Facebook campaign is an item with its ad sets as sub-items. A Google campaign is an item with a dated sub-item per day, added into the parent's running totals. Each platform has its own group on the performance board.

04

Metrics written back

Facebook ads get spend, impressions, reach, clicks, cost per click and per thousand, click-through rate, link clicks, engagement and the leads the platform counts. Google gets cost, clicks, impressions and conversions as the lead proxy. Organic posts get shares, reactions and comments.

05

Lead stages mirrored onto the board

An instant scenario watches the leads board and, when a lead's stage or group changes, finds its row on the ad-tracking board by name or email and mirrors the stage and group onto it, so reporting can show how many leads from each campaign reached each stage. It sends nothing to an ad platform.

The outcome

  • Across the seven scenarios: 933 runs and 19,029 operations in Make's counters, with three errors: two ad-platform API failures and one rate limit.

  • The lead-stage mirror has 752 runs with no errors, at four or five operations each.

  • Most operations come from the Facebook insights scenario, about 490 per run and about 40 minutes, because it re-queries every campaign and ad set.

Where it stops

Some insight columns are written additively (lifetime and part-day figures are added to what is stored), so those columns would double-count on a re-run, and the plainly overwritten columns are the reliable ones. Cost per lead is not computed; leads are tied to campaigns only through each platform's own counts, apart from the stage mirror, whose name-or-email match can over-match. The post refresh covers five posts a run, the creation watchers do not revisit existing campaigns, and none has an error route or retry. An Instagram and a LinkedIn extension are unfinished and not described.

Built with

  • Make.com
  • monday.com
  • Facebook Ads
  • Google Ads
  • Facebook Pages

Patterns used

  • Create then update
  • Platform id as join key
  • Sub-items for the grain
  • Mirror stage by email

Page copy drafted with AI assistance. Skofi is accountable for it. Editorial policy

Start here

Have something shaped like this?

If any part of the above resembles a problem you are living with, a short call is the fastest way to find out whether it is the same problem underneath.

Book a 15-minute callsaveez@skofi.tech

What happens on the call

  • 15 minutes, no deck
  • We map the process on the call
  • A written scope, or an honest no
Book a call