Lock in $67
Method

Weekly Meta ads review in Claude: the learning-phase clock

Checking daily is harmless. Editing daily restarts the one clock Meta says your ad sets need to finish.

Espen Opdahl Published 6 min read
The short answer

Review Meta ads weekly because Meta’s learning phase runs on a week. Its help centre says an ad set exits learning after enough results “in the week after the ad set’s last significant edit”, and adding an ad, changing creative or changing targeting starts that clock again. So a 60-minute weekly review reads first, edits once, and then leaves things alone. Through Claude, learning status lives in one ad-set field, learning_stage_info, which cannot be filtered or sorted, and the connector’s delivery status has no “learning” value at all.

It is Tuesday, cost per purchase looks worse than Friday, and the obvious move is to swap the weakest ad. On Thursday it looks worse again, so a new ad goes in. By the following Monday nothing in the account has run long enough under one setup to say anything about it.

The question is not how often to look. Looking is free. It is how often to change something, and Meta has already written down the answer in its own documentation. The routine follows from it.

Why the week is the unit

Meta’s help article About the learning phase (read through the connector’s help tool on 2026-09-16) describes learning as the period when the delivery system is still exploring how to deliver an ad set, and says ad sets exit it once they can deliver stably, usually after a threshold of results in the week following the last significant edit. During learning, it says, performance is less stable, results “aren’t necessarily indicative of future performance”, and editing resets learning.

The companion article, Significant edits and learning phase, lists what counts. Any change to targeting, to ad creative or to the optimisation event. Adding a new ad to the ad set. Changing bid strategy. Pausing the ad set for 7 days or longer. Budget, bid and spending-limit changes may or may not count, depending on size. Two details matter for a routine: under Advantage+ campaign budget, a campaign-level budget change can send several ad sets back into learning at once, and an edit made at ad-set level does not reset its siblings.

Put together, a daily tweak is not diligence. Every creative swap on a Tuesday and a Thursday restarts a week that never finishes. A weekly cadence is the smallest interval at which the thing you changed has had its documented chance to settle.

What the connector can see of it

Asked on 2026-09-16, the connector’s field-context tool returned learning_stage_info as a structured field at ad-set level only, described as information about the ad set’s learning stage “including its status, conversions, last significant edit time, exit reason, and attribution windows”. It is marked not filterable and not sortable. Meta’s Marketing API reference for the underlying learning stage info node spells out the parts:

PartWhat Meta documentsHow it misreads
statusLEARNING, SUCCESS (exited), FAIL (not enough results to exit)FAIL is what Ads Manager shows as Learning limited. It is not an error.
conversionsConversions since the last significant edit during learning; zero once the ad set has exitedA zero on a healthy ad set looks like an ad set that sold nothing.
last_sig_edit_tsTimestamp of the last significant edit that sent the ad set back into learningIt is a Unix timestamp. Ask for it as a date.
dynamic thresholdsSeparate conversion and day thresholds for a dynamic learning phaseThe exit bar is not one fixed number for every ad set.

Because the field cannot be filtered, “show me the ad sets stuck in learning” cannot be a filter on Meta’s side. The assistant has to pull every active ad set with the field and sort them out in the chat. That is fine for a handful of ad sets and worth checking on a long list, where the reader’s pagination applies. No ad account was queried for this post, so the exact shape the connector returns for this field is unverified here; the table is Meta’s API reference, not an observed response.

The weekly routine is the core of the Claude Ads Operator course, and it assumes an account that is already connected properly.

worth knowing The connector’s delivery status has no learning value, and its “updated time” counts edits that do not reset learning.

In the same lookup, the delivery field returned eight values: draft, pending, active, inactive, error, deleted, completed and off. Ads Manager’s Delivery column reads “Learning”; the connector’s version of that column cannot. And updated_time is described as reflecting “any edit to the entity’s configuration” — a renamed ad set counts. Filtering for ad sets updated this week is filterable and tempting, and it answers a different question from “which ad sets are back in learning”.

The 60-minute week, in order

  1. Fix the window first

    The entity reader offers last_7d, a rolling window, and last_week_mon_sun, a calendar week. Run a rolling window on a Tuesday one week and a Thursday the next and the two reviews compare different days. Use the calendar week, and have the dates echoed back before any number. Avoid this_week_mon_today for decisions; it is a partial week by definition.

  2. Read learning status before reading cost

    Pull each active ad set with learning_stage_info, and ask for status and last significant edit as a date. Any ad set still in LEARNING gets its cost noted and left alone: Meta’s own article says those results are not indicative yet. FAIL is a structural question — too little volume for the setup — not a creative one.

  3. List what changed, with an explicit start

    The activity-log tool’s schema defaults its start time to three months ago and caps results by default, so pass last Monday as the start. Its categories include creative, targeting, bid strategy, budget and conversion-event changes, which map closely onto Meta’s significant-edit list, and the log includes Meta system-generated changes. The activity-log post covers how its category filter overlaps.

  4. Judge only what has settled

    Performance calls go to ad sets that exited learning and were not significantly edited this week. For those, the question is usually whether an idea is wearing out or the audience is, and that is a reach-and-frequency check, not a cost-per-purchase one.

  5. Batch the edits, then stop

    Decide every change in one sitting, write each one down with the reason, and make them together. Next week’s step three shows whether they happened as written.

    The trade: a weak ad set runs for days you could have cut. On an account with little volume, a week can also be too short to exit learning at all, and the honest answer is fewer ad sets rather than faster edits.

Look as often as you like. Change things once a week.

  • Reading a zero as no sales. The learning-stage conversions count drops to zero when an ad set exits learning. Check status before the count.
  • Using updated time as a learning proxy. It moves on a rename. The significant-edit timestamp is the one that matters.
  • Adding one more ad to “help” a struggling ad set. Meta lists adding an ad as a significant edit. The help restarts the week.
  • Pausing for a long weekend. Pausing for 7 days or longer re-enters learning on unpause, per Meta’s significant-edits article. A shorter pause does not appear on that list.

Try this tonight Ask Claude for every active ad set with its learning stage status and last significant edit shown as a date, nothing else. Any ad set edited in the last seven days goes on a do-not-touch list until next week’s review. Any ad set marked FAIL goes on a separate list for one question next week: should it be merged with a similar ad set, as Meta’s learning-phase article suggests, rather than edited again?

How often should I check my Meta ads?

Look whenever you like; change things weekly. Meta ties the learning phase to the week after an ad set’s last significant edit, so edits made more often than that restart the period before it can finish.

Can Claude tell me which ad sets are in the learning phase?

Yes, through the ad-set field learning_stage_info. It cannot be used as a filter or sort, so the assistant fetches every ad set and reads the status itself. The connector’s delivery status field has no learning value.

Does a budget change restart the learning phase?

It may. Meta’s significant-edits article says budget changes count or not depending on their size, and that a campaign-budget change under Advantage+ can send several ad sets back into learning at once.

What does learning limited mean in the API?

In Meta’s API reference it is status FAIL: the ad set did not get enough results to exit learning. It points to volume and structure — budget, audience, too many ad sets — rather than a broken ad. The audit checklist covers the wider pass.

Run the account in one sitting a week

The course is the weekly routine behind these posts: what to read, in what order, and what never changes in your account without you.

See what's inside — $67 founding price

Pre-sale: the modules are still being recorded and founding members get the checkout link first. No charge today. Public price $97.

Espen Opdahl Writes The Claude Ads Operator. I run Meta ad accounts through Claude and Meta's official ads connector, and I write down what actually happens — including the parts that don't work. Not affiliated with Meta or Anthropic.