Thousands of teams have used ChatGPT, Claude, or Copilot to create, pause, enable, and update Meta Ads campaigns through Windsor’s write actions since they launched. That gives us something nobody outside Windsor has: real data on which of these actions actually work on the first try, and which ones commonly fail, and why.
What succeeds almost every time
Status changes are the most reliable action type by a wide margin. Pausing a campaign, enabling a campaign, pausing or enabling an ad set, pausing or enabling an ad, these succeed on close to every attempt. If your assistant is turning something on or off, it’s about as safe an operation as this connector has.
What succeeds most of the time, with real exceptions
Setting a campaign or ad set budget, creating a campaign, and updating an ad set succeed the large majority of the time, high enough to trust, but with a meaningful minority of failures worth understanding before you rely on them unattended.
What fails close to half the time
Creating an ad set is close to a coin flip. Boosting an organic post into a paid ad is similar. These are the two actions where “ask your assistant to just do it” most often comes back with an error instead of a result, and the reasons are specific enough to plan around.
Why ad set creation fails so often
The dominant cause isn’t a Windsor limitation, it’s that Meta’s ad set creation requires a complete, internally consistent bid configuration, and most failed attempts are missing a piece of it:
- Bid amount or bid constraints not provided. Certain bid strategies (like a bid cap or cost cap) require a specific bid amount or constraint alongside them. Asking for “lowest cost with a bid cap” without specifying the actual cap fails.
- Advantage+ audience flag not specified. Meta now requires an explicit choice of whether Advantage+ audience targeting is enabled or disabled when creating an ad set; leaving it unstated is a common failure point.
- Rate limiting. Meta throttles how many changes an ad account can make in a short window. A batch of ad set creations run too quickly can hit this even when every request is otherwise valid.
Why campaign updates sometimes fail
The most common cause here is trying to change a bid strategy on a campaign that doesn’t have a budget set yet, Meta requires the budget to exist first. The second most common cause is the same rate limiting that affects ad set creation.
Why ad creation sometimes fails
Almost every ad creation failure comes down to an incomplete creative: a missing page id, a missing link, or a missing image for a video or click-to-message ad. Meta needs a complete creative spec, either the full object or every required individual field, there’s no partial version that gets accepted and filled in later.
A safer order of operations
Given the pattern above, the reliable sequence for creating a new campaign structure from scratch is:
- Create the campaign with its budget set from the start, not added afterward.
- Create the ad set with an explicit bid amount (or bid constraint) and an explicit Advantage+ audience choice, don’t leave either to a default.
- Create the ad with a complete creative, all required fields for the format you’re using, not a partial spec.
- Space out bulk creation requests rather than firing them in immediate succession, to avoid rate limiting.
Create a new campaign called "Q4 Retargeting" with a $50 daily budget
set from the start. Then create one ad set under it with lowest-cost
bidding, Advantage+ audience enabled, and a $50 daily budget. Show me
the exact configuration before creating anything.
Related reading
- Meta Ads Analytics: A Complete Guide to Facebook Ads Data
- Managing Meta Ads from Claude
- Managing Meta Ads from ChatGPT
- We Asked Claude to Pause Our Worst Meta Campaigns. It Did.
- All available write actions across every connected platform
FAQs
Does a failed attempt change anything on my account?
No. A failed create or update action simply doesn’t go through, Meta rejects the request before anything is created or changed. Nothing partial gets left behind.
Should I avoid using an assistant to create ad sets, given the failure rate?
No, but be specific. Most failures come from an incomplete bid configuration or missing Advantage+ audience choice, not from the action itself being unreliable. Specifying those explicitly, as in the example prompt above, avoids the majority of failures.
Why do pausing and enabling succeed so much more often than creating?
Status changes only require identifying the right campaign, ad set, or ad, there’s no complex configuration to get right. Creation actions require a complete, valid configuration (budget, bid strategy, creative fields) that Meta validates strictly before accepting.

