Reading your Instagram data is useful. Acting on it is where the real time savings are. Once you’ve connected Instagram to ChatGPT via Windsor MCP (see: How to Connect Instagram to ChatGPT), Windsor’s write actions let ChatGPT make real, live changes to your Meta Ads account, which covers your Instagram ad campaigns, not just report on them.
What a write action actually is
Windsor’s normal connectors only read: they pull reporting data and hand it to ChatGPT. A write action does the opposite; it changes something in your live ad account: pause a campaign, raise a budget, launch a new ad set. ChatGPT sees each write action as a tool it’s allowed to use. You ask for something in plain English, and it runs the matching action against your account.
What ChatGPT can do with your Instagram ads
Meta Ads supports 17 write actions through Windsor, and the list keeps growing. Here are the ones that matter for Instagram:
| What you can ask for | Supported on Meta Ads? | Can you undo it? |
|---|---|---|
| Create a campaign | Yes | No, but you can pause it |
| Create an ad set | Yes | No, but you can pause it |
| Create an ad or creative | Yes | No, but you can pause it |
| Enable a campaign | Yes | Yes |
| Pause a campaign | Yes | Yes |
| Set a campaign budget | Yes | Yes |
| Enable or pause an ad set | Yes | Yes |
| Set an ad set budget | Yes | Yes |
| Enable or pause an ad | Yes | Yes |
| Boost an organic post | Yes, and only on Meta | No, but you can pause the resulting ad |
Meta Ads has no equivalent to Google’s campaign-level bidding strategy, CPC bid ceiling, target CPA, or negative keyword actions yet. You can still change bid strategy at the ad set level.
Create an Instagram campaign from a chat
Look at my Instagram organic posts from the last 30 days. Find the Reel with the highest save rate (media_saved / media_reach). Then create a new Meta Ads campaign called "Top Reel - Retargeting". Objective: traffic. Daily budget: $40. Create one ad set for that campaign. Use that Reel as the creative. Write three caption variations. Match the tone and hooks of my best-performing organic captions. Leave the campaign paused. I want to review it before it runs.
⚠️ Nothing spends by accident. Every Meta creation action is created paused by default. The campaign, ad set, ad, or boosted post sits there until you explicitly enable it.
Boost a post that’s already working
Your organic data already tells you which post people saved and shared. Boosting that post is a smaller bet than guessing at new creative.
Find my top Instagram post from the last 14 days by save rate. Show me the post and the numbers first. Then set up the boost: create an engagement campaign, add an ad set with a $20 daily budget for 5 days, and boost that post into it.
Break down performance by placement
Placement-level performance (Feed vs. Stories vs. Reels vs. Explore) shows you where your budget is actually working, not just what the whole campaign is doing on average.
Break down the last 30 days of Meta Ads performance by placement (Feed, Stories, Reels, Explore) for my Instagram campaigns. Show CPM, CTR, and cost per result per placement, and tell me which placement is most efficient.
Cut the ads that aren’t working
Show every Meta Ads campaign running on Instagram placements in the last 14 days. For each one show spend, reach, CTR, and cost per result. Tell me which ones you would pause and why. Flag any ad with a frequency above 3 as a possible creative fatigue signal. Wait for me to confirm before pausing anything.
Move budget toward the winners
Compare cost per result across my Instagram ad sets for the last 30 days. Set the best performing ad set budget to $60 a day. Set the two worst performing ad sets to $10 a day. Confirm each change back to me.
Who this helps
The CMO or marketing lead — wants a decision, not a dashboard
Summarise Instagram for the last 30 days versus the 30 days before. Cover organic reach, follower growth, ad spend on Instagram placements, and cost per result. Tell me in plain language what changed and what I should do about it. Flag anything that needs a decision from me this week.
The digital marketer — closing the gap between organic and paid
Compare my top 5 organic Instagram posts by engagement rate to my top 5 Instagram ad creatives by CTR over the last 60 days. 1. Do the same themes and formats win in both? 2. Is there an organic winner I have never run as an ad? 3. Is there an ad creative that flopped organically? What does that tell me? Then set up a boost for the best organic post I have not yet run as an ad: an engagement campaign with an ad set at $25 a day for 7 days.
The agency — checking a full portfolio in one prompt
Connect each client to Windsor separately, then ask across all of them at once, flagging any account where ad spend went up but reach went down.
💡 Write actions run through the free Windsor MCP server and work the same way in Claude, Copilot, and any other MCP-compatible AI chat.
Write ad copy and creative variations with ChatGPT
Most generic ChatGPT prompt lists for ad copy ask you to invent a variation from scratch, describe the product, describe the audience, hope the tone lands. With Instagram connected, ChatGPT can skip the guessing and base new ad copy on captions and hooks that already proved they work on your account, then generate the variations for testing.
Look at my 10 highest-engagement Instagram captions from the last 90 days (by media_engagement / media_reach). Identify the hooks, tone, and structure they share. Then write 5 Meta Ads primary text variations for a campaign promoting [product/offer], matching that same tone and hook style. Keep each under 125 characters. Include one version with a direct CTA and one with a question hook.
This is also where the placement data from above pays off: match the copy length and tone to whichever placement is performing best.
Now adapt the winning variation from above into a Stories-length version (short, punchy, one CTA) and a Feed-length version (slightly longer, more context) for the two placements with the lowest cost per result from my last placement breakdown.
Posting directly to Instagram (not just ads)
Everything above manages paid campaigns through Meta Ads. Separately, Windsor also has a write action for Instagram itself: ChatGPT can publish a new image post directly to your connected account. It’s a distinct action from the Meta Ads write actions above, and it’s scoped to image posts specifically, not Reels, Carousels, Stories, or editing and deleting existing posts.
Based on my top-performing post themes from the last 30 days, write a caption for a new image post about [topic], matching my usual tone. Show me the caption and image before posting. Once I confirm, post it to Instagram.
Unlike ad campaigns, a published post doesn’t have a paused state to fall back on, so review the caption and image before confirming rather than after.
Related reading
- Not sure which post to boost first? Start with ‘ChatGPT prompts for Instagram content strategy‘ to identify your best-performing content by save rate and share rate before you put budget behind it.
- Managing the Facebook side of the same ad account? See ‘How to manage Facebook Ads campaigns from ChatGPT‘, same write actions, same account, just not filtered to Instagram placements.
- Want to know whether your ad spend is actually outperforming what competitors are doing organically? See ‘How to benchmark your Instagram against competitors using ChatGPT‘.
- Haven’t connected Instagram yet? Start with ‘How to Connect Instagram to ChatGPT in 1 Minute‘.
🚀 Turn your Instagram data into live ad decisions. Connect Meta Ads to ChatGPT with Windsor MCP → Start free now.
FAQs
Will ChatGPT spend money without me approving it first?
No. Every campaign, ad set, or ad ChatGPT creates is set to paused by default. Nothing runs or spends until you explicitly enable it.
Are Windsor write actions reversible?
Most are. Enabling, pausing, and budget changes can be undone anytime. Creating a new campaign, ad set, ad, or boost can’t be undone directly, but you can pause whatever gets created immediately after, which is why everything starts paused by default.
Can ChatGPT boost an Instagram post that's already live?
Yes. Ask it to find your best-performing post by save rate or share rate and boost it directly, no need to leave the conversation to set the campaign up in Ads Manager.
Can ChatGPT post directly to Instagram, not just run ads?
Yes, separately from ad campaigns. Windsor’s Instagram write action lets ChatGPT publish a new image post directly to your account. It’s scoped to image posts specifically, not Reels, Carousels, or Stories, and unlike ad campaigns there’s no paused state, so review the caption and image before confirming.
What can't ChatGPT do yet with Instagram ads?
Campaign-level bidding strategy, CPC bid ceiling, target CPA, and negative keyword actions aren’t supported on Meta Ads yet (these exist on Google Ads). You can still set bid strategy at the ad set level.
Can ChatGPT tell me which ad placement is performing best?
Yes, ask it to break down performance by placement (Feed, Stories, Reels, Explore) and it will pull CPM, CTR, and cost per result for each from your connected Meta Ads data.
Do I need to write code or set up an MCP server to use write actions?
No. Write actions work directly through the native Windsor.ai app connection in ChatGPT, the same one you use for reading data. No manual setup, no developer mode, no extra steps.
Does this work in Claude as well as ChatGPT?
Yes. Write actions run through the free Windsor MCP server, which works the same way across ChatGPT, Claude, Copilot, and other MCP-compatible tools.
Windsor vs Coupler.io

