mcpField
A
audience-targeting

audience-targeting

github.com/itallstartedwithaideaマーケティング・グロース4492 回インストール29 週間前に更新
リポジトリ

audience-targeting について

audience-targeting は、Google Ads のオーディエンス戦略を支援する Agent Skills™ のスキルです。ファネル別の分類、リマーケティング、Customer Match、Performance Max のシグナルを扱い、広告運用を行うエージェント向けです。

主な機能

  1. 01ファネル別のオーディエンス設計
  2. 02リマーケティングと Customer Match の計画
  3. 03Performance Max のシグナル構成
  4. 04オーディエンス分類の指針

活用シーン

  1. 01コンバージョン段階ごとの対象設計
  2. 02リマーケティングと除外の設定
  3. 03Customer Match セグメントの準備
  4. 04Performance Max シグナルの調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill audience-targeting

インストール後、Claude Code で/audience-targetingを入力して読み込まれたか確認します。

詳細

オーディエンスターゲティング

googleadsagent.ai™ による Agent Skills™ の一部です。

説明

Audience Targeting スキルは、Google Ads のオーディエンスエコシステム全体を連携させ、コンバージョンファネルのあらゆる段階で適切なユーザーにリーチします。インマーケットオーディエンスやカスタムインテントオーディエンスを使った幅広い見込み顧客の開拓から、カスタマーマッチや動的リストを使った精度の高いリマーケティングまで、このスキルはリーチ効率を最大化しながらコンバージョンの質を維持する、階層的なオーディエンス戦略を構築します。

Google Ads のオーディエンス分類はますます複雑になっています。インマーケットオーディエンス(商品を積極的に調査しているユーザー)、カスタムインテントオーディエンス(キーワードや URL で定義)、カスタムアフィニティオーディエンス(興味や行動で定義)、類似/そっくりなオーディエンス、カスタマーマッチ(ファーストパーティデータのアップロード)、リマーケティングリスト(ウェブサイト訪問者、アプリユーザー、YouTube 視聴者)、組み合わせオーディエンス(セグメントをまたいだブール論理)があります。このスキルは、各オーディエンスタイプを最適なファネルの位置とキャンペーン目標に対応付けることで、この複雑さに対応します。

Performance Max キャンペーンでは、オーディエンスシグナルが特に重要です。PMax は自動ターゲティングを使用しますが、オーディエンスシグナルの品質は、Google のアルゴリズムが初期の探索でどこに重点を置くかに大きく影響します。このスキルは、ファーストパーティデータ、カスタムセグメント、Google オーディエンスを組み合わせた最適化済みのオーディエンスシグナルパッケージを構築し、PMax の学習期間を短縮するとともに、キャンペーンのライフサイクル全体を通じてシグナルの品質を高めます。

使用する場面

  • ユーザーが「オーディエンスターゲティング」や「オーディエンス戦略」について尋ねる場合
  • ユーザーが「リマーケティングリスト」や「リターゲティングの設定」に言及する場合
  • ユーザーが「カスタムオーディエンス」や「カスタムインテントオーディエンス」の作成を希望する場合
  • ユーザーが「インマーケットオーディエンス」や「アフィニティオーディエンス」について尋ねる場合
  • ユーザーが「カスタマーマッチ」や「ファーストパーティデータのアップロード」に言及する場合
  • ユーザーが Performance Max の「オーディエンスシグナル」について尋ねる場合
  • ユーザーが「そっくりなオーディエンス」や「類似オーディエンス」の構築を希望する場合
  • ユーザーが「オーディエンスセグメンテーション」や「オーディエンスの階層化」に言及する場合
  • ユーザーがコンバージョンの質を維持しながら「リーチを拡大」したい場合

アーキテクチャ

flowchart TD
    A[Business Objectives] --> B[Audience Strategy Builder]

    B --> C[Prospecting Layer]
    B --> D[Consideration Layer]
    B --> E[Conversion Layer]
    B --> F[Retention Layer]

    C --> C1[In-Market Audiences]
    C --> C2[Custom Affinity]
    C --> C3[Demographic Targeting]
    C --> C4[Lookalike/Similar Audiences]

    D --> D1[Custom Intent Audiences]
    D --> D2[Website Visitor Lists\n1-30 Day Windows]
    D --> D3[YouTube Viewers]
    D --> D4[App Users]

    E --> E1[Cart Abandoners]
    E --> E2[Product Page Viewers]
    E --> E3[High-Value Visitors\nMultiple Sessions]
    E --> E4[Form Starters]

    F --> F1[Customer Match\nEmail, Phone, Address]
    F --> F2[Past Purchasers]
    F --> F3[Lapsed Customers]
    F --> F4[High LTV Segments]

    C1 --> G[Audience Combiner]
    C2 --> G
    C3 --> G
    C4 --> G
    D1 --> G
    D2 --> G
    D3 --> G
    D4 --> G
    E1 --> G
    E2 --> G
    E3 --> G
    E4 --> G
    F1 --> G
    F2 --> G
    F3 --> G
    F4 --> G

    G --> H[Campaign Assignment Engine]
    H --> I[Search: Observation + Bid Adj]
    H --> J[Display: Targeting Mode]
    H --> K[PMax: Audience Signals]
    H --> L[YouTube: Targeting + Exclusions]

実装

ファネルマッピングを用いたオーディエンス戦略ビルダー:

const FUNNEL_STAGES = {
  AWARENESS: 'awareness',
  CONSIDERATION: 'consideration',
  CONVERSION: 'conversion',
  RETENTION: 'retention'
};

async function buildAudienceStrategy(customerId, config) {
  const { businessType, conversionGoal, firstPartyDataAvailable } = config;

  const existingAudiences = await getExistingAudiences(customerId);
  const conversionData = await getConversionAudienceData(customerId);

  const strategy = {
    prospecting: buildProspectingAudiences(businessType, conversionData),
    consideration: buildConsiderationAudiences(customerId, existingAudiences),
    conversion: buildConversionAudiences(customerId, existingAudiences),
    retention: firstPartyDataAvailable
      ? buildRetentionAudiences(customerId, config.crmData)
      : { available: false, recommendation: 'Upload customer list for Customer Match' }
  };

  return {
    audiences: strategy,
    pmaxSignals: buildPMaxAudienceSignals(strategy),
    exclusions: buildExclusionLists(strategy),
    bidAdjustments: calculateBidAdjustments(strategy, conversionData)
  };
}

function buildProspectingAudiences(businessType, conversionData) {
  const topConvertingInMarket = conversionData.inMarketSegments
    .sort((a, b) => b.conversionRate - a.conversionRate)
    .slice(0, 10);

  return {
    inMarket: {
      recommended: topConvertingInMarket,
      mode: 'observation_with_bid_adjustment',
      bidAdjustment: '+20%'
    },
    customAffinity: {
      interests: deriveAffinityInterests(businessType),
      mode: 'targeting',
      bestFor: 'display_and_youtube'
    },
    demographics: {
      age: conversionData.topConvertingAgeRanges,
      gender: conversionData.topConvertingGenders,
      income: conversionData.topConvertingIncomeRanges,
      mode: 'observation_with_bid_adjustment'
    }
  };
}

function buildConversionAudiences(customerId, existingAudiences) {
  return {
    cartAbandoners: {
      definition: { visitedPage: '/cart', didNotConvert: true, window: '7_days' },
      estimatedSize: existingAudiences.cartVisitors?.size || 'unknown',
      bidAdjustment: '+50%',
      priority: 'critical'
    },
    productViewers: {
      definition: { visitedPage: '/product/*', didNotConvert: true, window: '14_days' },
      estimatedSize: existingAudiences.productViewers?.size || 'unknown',
      bidAdjustment: '+30%',
      priority: 'high'
    },
    multiSessionVisitors: {
      definition: { sessionCount: '>= 3', didNotConvert: true, window: '30_days' },
      bidAdjustment: '+40%',
      priority: 'high'
    },
    formStarters: {
      definition: { startedForm: true, didNotSubmit: true, window: '14_days' },
      bidAdjustment: '+60%',
      priority: 'critical'
    }
  };
}

カスタマーマッチと PMax のオーディエンスシグナル:

async function setupCustomerMatch(customerId, customerData) {
  const segments = segmentCustomerList(customerData);

  return {
    allCustomers: {
      listSize: customerData.length,
      matchRate: await estimateMatchRate(customerData),
      usage: 'exclusion_from_prospecting'
    },
    highLTV: {
      definition: segments.filter(c => c.ltv > segments.ltvP75),
      usage: 'seed_for_similar_audiences',
      bidAdjustment: '+30%'
    },
    lapsedCustomers: {
      definition: segments.filter(c => c.daysSinceLastPurchase > 90),
      usage: 'reactivation_campaigns',
      messaging: 'win_back_offers'
    },
    recentPurchasers: {
      definition: segments.filter(c => c.daysSinceLastPurchase <= 30),
      usage: 'cross_sell_upsell',
      exclusion: 'same_product_campaigns'
    }
  };
}

function buildPMaxAudienceSignals(strategy) {
  return {
    customSegments: [
      {
        name: 'High-Intent Searchers',
        type: 'custom_intent',
        keywords: strategy.topConvertingKeywords,
        urls: strategy.competitorUrls
      },
      {
        name: 'In-Market Converters',
        type: 'in_market',
        segments: strategy.prospecting.inMarket.recommended
      }
    ],
    yourData: [
      strategy.conversion.cartAbandoners,
      strategy.conversion.productViewers,
      strategy.retention?.highLTV
    ].filter(Boolean),
    demographics: strategy.prospecting.demographics,
    signalStrength: evaluateSignalStrength(strategy)
  };
}

function buildExclusionLists(strategy) {
  return {
    converters: {
      window: '30_days',
      excludeFrom: ['prospecting_campaigns', 'consideration_campaigns'],
      reason: 'prevent_wasted_spend_on_recent_converters'
    },
    bouncers: {
      definition: 'single_page_session_under_10s',
      excludeFrom: ['remarketing_campaigns'],
      reason: 'low_quality_traffic_not_worth_remarketing'
    },
    employees: {
      definition: 'ip_exclusion_or_customer_match',
      excludeFrom: ['all_campaigns'],
      reason: 'prevent_internal_click_waste'
    }
  };
}

Buddy™ Agent との連携

Audience Targeting は、Buddy™ Agent のリーチインテリジェンスレイヤーです。このプラットフォームはコンバージョンデータを継続的に分析し、最も高い価値を生み出すオーディエンスセグメントを特定します。また、新たな傾向に基づいて入札単価調整比を自動調整し、新しいオーディエンスの構築を提案します。

Buddy™ は CRM 連携からのスケジュールされたリスト更新、マッチ率のモニタリング、リストの衛生管理など、カスタマーマッチのライフサイクルを管理します。マッチ率がしきい値を下回ると、Buddy™ はデータ拡充戦略を提案します。PMax キャンペーンでは、Buddy™ がオーディエンスシグナルの品質を評価し、アセットグループのパフォーマンスデータに基づいてシグナルの改善を提案します。

このスキルは、高度なリターゲティング運用のために Remarketing Strategy スキルと連携し、検証済みのコンバージョンイベントに基づいてオーディエンスのメンバーシップルールが正しく機能するよう、Conversion Tracking スキルと協調します。

ベストプラクティス

  1. ターゲティングモードに切り替える前に、検索キャンペーンでオーディエンスを観察モードに設定します
  2. 柔軟なターゲティングを可能にするため、複数の期間(7、14、30、90日)のリマーケティングリストを作成します
  3. 無駄な費用を防ぐため、見込み顧客向けキャンペーンから最近コンバージョンしたユーザーを除外します
  4. 高いマッチ率を維持するため、カスタマーマッチリストを毎月更新します
  5. 見込み顧客の獲得には、競合の URL と購入意欲の高いキーワードを含むカスタムインテントオーディエンスを使用します
  6. 検索リマーケティングではオーディエンスの最小サイズを 1,000 ユーザー、ディスプレイでは 100 ユーザーに設定します
  7. コンバージョンに近いオーディエンスほど高い入札単価調整を適用します(カート放棄ユーザー > ページ閲覧ユーザー)
  8. 精度を高めるため、オーディエンスターゲティングとキーワードターゲティングを組み合わせます(RLSA)
  9. 入札単価調整を決定する前に、市場の購買意欲の高いオーディエンスを30日間、観察モードでテストします
  10. パフォーマンスを切り分けるため、オーディエンスシグナルの組み合わせごとに個別の PMax アセットグループを作成します

プラットフォームの互換性

プラットフォーム対応
Claude Code✅
Cursor✅
Codex✅
Gemini✅

関連スキル

  • リマーケティング戦略 - リマーケティングリストはオーディエンスの中核となるタイプです。オーディエンスターゲティングによってリターゲティングのオーケストレーションが可能になります
  • PMax の最適化 - オーディエンスシグナルは、Performance Max の学習フェーズを加速させる重要な入力情報です
  • コンバージョン トラッキング - 正確なコンバージョンイベントにより、オーディエンスのメンバーシップルールが正しく適用されます
  • エンティティメモリー管理 - エージェントのセッション間で、オーディエンスセグメントとターゲティングの決定事項を追跡します

キーワード

オーディエンスターゲティング、リマーケティングリスト、カスタムオーディエンス、市場の購買意欲の高いオーディエンス、カスタムインテント、カスタマーマッチ、オーディエンスシグナル、Performance Max のオーディエンス、類似オーディエンス、リマーケティング、RLSA、オーディエンスのセグメンテーション、オーディエンス戦略、Google 広告のオーディエンス、ファーストパーティデータ


© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License

コメント