跳至主要内容

Advertising

Stop a creative before the audience is sick of it

Frequency is the number you notice too late: the ad keeps spending while the same people see it for the ninth time. A cap written down once and checked every hour pauses the ad without anyone opening Ads Manager. How much that cap is worth is set by the way Meta reports frequency, not by the workflow.

Triggers
Two
Runs
Every hour
Stack
3 tools
Durable execution
Not required

The flow

Two triggers and one decision. The top track reads what the platform reports; the bottom track holds the cap you set. They meet at the comparison.

Orchestration

Every hour

n8n schedule

Platform

Read frequency

Meta Ads Insights API

Data

Append the frequency log

Sheets · Airtable

Data

Cap set per campaign

Sheets · Airtable

Orchestration

Match each ad to its cap

n8n

Orchestration

Over the cap?

n8n IF

Platform

Pause the ad

Meta Marketing API

Orchestration

Leave it running

Step by step

  1. 01

    Every hour

    n8n schedule

    Hourly is as often as this is worth running. Meta refreshes insights every fifteen minutes, but frequency moves in days, not minutes.

  2. 02

    Read frequency

    Meta Ads Insights API

    One request per live ad, at ad level, over an explicit date range. Lifetime frequency and seven-day frequency are different numbers and lead to different decisions.

  3. 03

    Append the frequency log

    Sheets · Airtable

    One row per ad per run. The log is what tells you afterwards how fast that creative burned, which is the input for the next cap.

  4. 04

    Cap set per campaign

    Sheets · Airtable

    The operator writes the cap. A prospecting cap and a retargeting cap are not the same number. Editing the cell re-arms the check on the next run.

  5. 05

    Match each ad to its cap

    n8n

    Ads with no cap are skipped rather than given a default. A default applied silently is how working creative gets killed.

  6. 06

    Over the cap?

    n8n IF

    Compared against your cap, not a published benchmark. There is no correct frequency — only the point where your cost per result stopped being acceptable.

  7. 07

    Pause the ad

    Meta Marketing API

    Pause the ad, not the ad set. Pausing the parent takes the creative that still works down with the tired one.

What the platform will not allow

How far this can be automated is set by the way Meta reports frequency. That boundary is the part most write-ups leave out.

  • Frequency is defined as the average number of times each person saw your ad, and the metric is marked as estimated. A cap is therefore a threshold on an estimate, not on a count.

    Marketing API — Ad Account Insights reference
  • Hourly breakdowns do not support reach or frequency — both fields return 0 when an hourly breakdown is in use. You can run the check hourly; you cannot ask for frequency broken out by hour.

    Ads Insights API — Breakdowns
  • Meta's own scheduled rules run on one of three intervals: daily at midnight in the ad account's timezone, hourly, or semi-hourly. Half an hour is the finest cadence the native rules engine offers.

    Marketing API — Schedule-based ad rules

When this is not worth building

Three cases where the upkeep costs more than the wasted impressions.

  • Three or four creatives per campaign. At that count, which one to stop is a judgement you should be making yourself, and a pause leaves the campaign with less to spend on than it needs.

  • No replacement creative ready. A pause with nothing to put in its place moves the spend to whatever is left, which is usually the ad that was already losing.

  • Audiences large enough that frequency stays flat. If the cap has not fired in a month it is a workflow nobody is watching, and nobody will notice when the API call starts failing.

Related reading

    联络我们

    这些流程,你真正应该做哪一条?

    我们每星期都在为香港的运营团队跑这些流程。告诉我们哪个环节正在耗你的时间,我们会告诉你自动化划不划得来。

    开始对谈