← AdspirerCONTENT HISTORY
WHAT CHANGED
Update to Adspirer
Snapshot Oct 28, 2026 · 12:05 UTC · version 2.1.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Adspirer and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Create and manage ChatGPT Ads (OpenAI Ads) through Adspirer — ads that appear inside ChatGPT responses. Use for OpenAI Ads, ChatGPT advertising, chat card ads, or placing ads in ChatGPT. Covers the one-shot launch tool and irreversible archiving.",
"included_files": [],
"name": "adspirer-chatgpt-ads",
"skill_md_contents": "---\nname: adspirer-chatgpt-ads\ndescription: Create and manage ChatGPT Ads (OpenAI Ads) through Adspirer — ads that appear inside ChatGPT responses. Use for OpenAI Ads, ChatGPT advertising, chat card ads, or placing ads in ChatGPT. Covers the one-shot launch tool and irreversible archiving.\n---\n\n# ChatGPT Ads (OpenAI Ads)\n\nAds that appear inside ChatGPT responses. Everything goes through the `chatgpt_ads` router. Follow\n`adspirer-mcp` for the two-step.\n\nAccount parameter: `account_id`, as a **string**. `list_chatgpt_accounts` enumerates them.\nBudgets are in the **account's currency** as a decimal: 50 a day is `50.0`.\n\n## Launching\n\n`launch_chatgpt_ad` does the whole thing in one call: campaign, ad group, creative upload, and a\nchat-card ad. Use it when the user hands you a headline, body, image, and destination.\n\nUse the granular path — `create_chatgpt_campaign` → `create_chatgpt_ad_group` →\n`upload_chatgpt_creative` → `create_chatgpt_ad` — when they want to review each level, or when\nyou're adding to a campaign that already exists.\n\nEither way the campaign is created **paused**. Nothing serves and nothing spends until it is resumed.\n\n## Locations\n\nDon't pass a place name. `chatgpt_geo_lookup` resolves \"United States\" or \"Greater London\" to the\nlocation ids OpenAI expects.\n\n## Archiving is not pausing\n\n`archive_chatgpt_campaign` is irreversible. `pause_chatgpt_campaign` is not. When the user says\n\"stop this campaign,\" they nearly always mean pause. Confirm explicitly before archiving anything,\nand name what will be lost.\n\nPause and resume exist at all three levels — campaign, ad group, and ad. Pause the narrowest thing\nthat solves the problem.\n\n## Creative\n\nA chat card is a headline, a body, an image, and a destination URL. It is read inline in a\nconversation, so the copy has to earn attention without a scroll: lead with the offer, keep the body\nconcrete, and make the destination match the promise. This is not the place for a slogan.\n\n## Conversions\n\n`set_chatgpt_conversions_config` wires conversion tracking; `list_chatgpt_conversion_events` shows\nwhat's firing and `test_chatgpt_conversion` proves it end-to-end before the user trusts the numbers.\nOptimizing toward conversions that were never verified is how budgets get wasted quietly.\n\n## Reading performance\n\nThrough the router: `{\"action\": \"execute\", \"tool_name\": \"get_chatgpt_performance\", ...}`.\n`get_chatgpt_insights` adds the qualitative breakdown.\n\nThis is a young surface — inventory and delivery are less predictable than Google or Meta. Set the\nexpectation before the user compares a first week here to a mature Search campaign.\n"
}SHA-256 of public snapshot: 153e7513d767460ee2d53777827df7b7b69cf34fae2484fe4211d0db3c6e825f