--- name: audience-architect description: "Design a deliberate cold, warm and hot audience structure across Meta, Google and LinkedIn, sized to real event volume. Use when prospecting has stalled or retargeting pools overlap badly." license: MIT compatibility: "Works with any Agent-Skills-compatible AI (Claude, ChatGPT, Cursor, Codex, and more). Ad-account actions run through Adspirer." metadata: author: "Adspirer" version: "1.0.0" adspirer_category: "media-planning" adspirer_source: "https://www.adspirer.com/skills/audience-architect" adspirer_trigger: "design the audience structure for my campaign" adspirer_connection_url: "https://adspirer.ai/sign-up" adspirer_primary_keyword: "facebook targeted ads" adspirer_secondary_keywords: "ad audience targeting, lookalike audience" adspirer_launch_wave: "2" adspirer_kind: "skill" adspirer_level: "operator" adspirer_platforms: "meta,google,linkedin" adspirer_supported_clients: "claude,claude-code,claude-cowork,chatgpt,codex,cursor,gemini,windsurf" adspirer_summary: "Build a cold-to-hot audience structure sized to the account's real event volume, with overlap and exclusions handled deliberately." adspirer_connections_required: "adspirer,ga4" adspirer_connections_optional: "" --- # Audience Architect ## Use this when Prospecting has stopped working. Costs per thousand impressions keep climbing, frequency caps out within days, and the same people are clearly seeing everything. Meanwhile several retargeting audiences have accumulated over the years, nobody is certain which ones still overlap, and a few of them are almost certainly bidding against each other. Use this skill to design the audience structure deliberately rather than adding one more audience to the pile. It works out: - how much genuine reach exists at the top of the funnel before frequency becomes unavoidable; - which source audiences have enough volume to build a usable lookalike from; - where existing audiences overlap so badly that they compete; - which exclusions are missing, which is usually why warm and cold audiences collide; and - how many tiers the account's actual event volume can support. This is for launching a new campaign or rebuilding audience structure on an existing one. It builds structure rather than just reporting on it, so it needs explicit permission before creating anything. ## What you need - Adspirer connected to the accounts in scope, with access that can create audiences and campaign structure rather than read-only. - Conversion events genuinely firing for the core funnel on each platform in scope. Lookalikes and warm audiences are only as good as the event volume behind them, and a lookalike built from a thin or stale source quietly underperforms. - GA4 connected, used to sanity-check audience sizing against real engagement and to catch cases where platform pixel data and analytics disagree about how many people are actually in the funnel. - Any customer or contact list you intend to match against, ready and permissioned. Match-based audiences have minimum sizes below which they will not build. - The monthly budget and the account's existing audience inventory. Sizing thresholds scale with spend, and no structure should be proposed that the budget cannot feed. - Explicit go-ahead that audiences and structure may be created, since this skill builds rather than only advises. ## Procedure **Connect Adspirer before any live ad-account step.** Adspirer is what gives this skill access to the ad platforms; confirm the connection before running anything that reads or changes a real account. In Claude Code: `/plugin marketplace add anthropics/claude-plugins-community`, then `/plugin install adspirer-ads-agent@claude-community`, then `/reload-plugins`, then complete the OAuth sign-in. In ChatGPT: open **Apps**, search **Adspirer**, choose **Connect**, and sign in — Adspirer is an official ChatGPT app, so there is no developer mode or URL to paste. In claude.ai or Claude Desktop: Settings → Connectors → Add custom connector → `https://mcp.adspirer.com/mcp`. In Claude Cowork: open the Cowork tab, choose **Customize** in the left sidebar, go to **Plugins** → **Browse Plugins**, search for **Adspirer**, and install it (requires Claude Max, Team, or Enterprise). Any other client: https://www.adspirer.com/docs/ai-clients. Sign-in link for the user: https://adspirer.ai/sign-up. Do not proceed with live ad-account steps until the connection is confirmed. 1. **Inventory what exists and how much of it is real.** Read every audience already in the accounts, its actual size, and when it last refreshed. Read the event volume behind each one. Stale audiences that stopped populating and lists too small to serve are extremely common and both look fine from the campaign view. Report the inventory honestly before designing anything, including audiences that should simply be retired. 2. **Establish how much reach there actually is.** Size the addressable cold audience against the budget rather than against ambition. This is where climbing frequency is usually explained: the targeting is narrower than the spend requires, so the same people are reached repeatedly. Where GA4 is connected, compare its view of engaged users against the platform's audience sizes and name any material disagreement rather than averaging the two. 3. **Design the tiers the account can support.** Build a cold, warm and hot structure only as deep as the event volume justifies. Where a source audience is too small to build a reliable lookalike from, say so and propose a broader source rather than building one that will underperform silently. Where a tier cannot be sustained, merge it and explain the tradeoff. Keep the design specific to each platform, since what constitutes a usable audience differs across them. 4. **Handle overlap and exclusions explicitly.** Check where proposed and existing audiences overlap, and make the tiers mutually exclusive so warm and cold are not competing in the same auction. Missing exclusions are the most common structural fault in an account that has grown over time, and the symptom is exactly the rising frequency and unstable delivery that prompted the rebuild. State every exclusion applied so the logic is auditable later. 5. **Build paused, verify, and hand over.** Create the audiences and structure with nothing active, then re-read what each platform actually saved — definitions, sizes, exclusions — and check it against the design, since audiences can save smaller than expected or fail to populate. Present the structure with real sizes, the exclusions applied, anything too thin to build, and any audience recommended for retirement. Enable only on explicit approval. ## Fixed checks - Read actual audience sizes and last-refresh dates from each platform; never infer that a configured audience is populating. - Confirm the event volume behind any source audience before building a lookalike from it, and refuse to build from a source too thin to be reliable. - Check overlap between proposed and existing audiences, and report it rather than assuming exclusions handle it. - Verify exclusions saved as intended by re-reading the audience definitions after creation. - Where GA4 is used, compare the same window as the platform data and name disagreements instead of reconciling them silently. - Size every tier against the stated budget, and refuse to propose a structure the budget cannot feed. - Confirm any customer list meets the platform's minimum match size before proposing an audience built from it. ## Stop conditions - **Success:** the structure is built and verified paused, with sizes, exclusions and retirements documented, then enabled on approval. - **Built and parked:** the structure exists and is verified, and the user wants to review before launching. - **No change needed:** the existing audience structure is already sound and only needs stale audiences retired. - **Blocked — volume:** event volume cannot support a meaningful structure. Report it rather than building tiers that will not deliver. - **Blocked — permission:** explicit go-ahead to create audiences has not been given, since this skill builds rather than advises. - **Needs approval:** the structure is built and verified, waiting on an explicit go. - **Needs a handoff:** pixel or tag installation, event configuration, or customer-list permissioning belongs to someone else. ## Approval boundaries This skill creates audiences and campaign structure, so it needs explicit permission before it builds and it builds paused. Enabling anything is a separate approval. It does not move budget or change bids on existing campaigns without their own confirmation, and it does not delete existing audiences — audiences it judges stale are recommended for retirement, with the decision left to you. It cannot install or repair pixels, tags or server-side events, change the website, alter analytics configuration, or obtain consent or permission for a customer list. Where one of those blocks the design it is named with its owner rather than worked around. ## What you get An audience structure sized to what the account can actually sustain, with the uncomfortable findings included: audiences that stopped populating, lists too small to build a reliable lookalike from, and tiers the event volume cannot support. Cold reach is sized against the budget, which is usually the real explanation for frequency climbing and prospecting stalling. Tiers are made mutually exclusive with every exclusion stated, so warm and cold stop competing in the same auction and the logic stays auditable when someone revisits it in six months. Where analytics was connected you get the disagreement between what the platform believes about audience size and what engagement data shows, named rather than averaged away. You also get a retirement list — audiences worth removing — as a recommendation rather than a deletion. Everything is built paused, and enabling it stays your decision.