mcpField
R
remarketing-strategy

remarketing-strategy

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

remarketing-strategy について

ファネル段階やオーディエンスに応じたリマーケティング戦略を設計するマーケティングスキルです。再エンゲージメントを扱うエージェント向けに、頻度制限や段階的なメッセージ配信を支援します。

主な機能

  1. 01ファネル段階別のオーディエンス分類
  2. 02チャネル横断のリマーケティング設計
  3. 03段階的なメッセージ配信
  4. 04頻度とリスト期間の管理
  5. 05対象外オーディエンスの除外

活用シーン

  1. 01カート放棄ユーザーの再訪促進
  2. 02ファネル段階ごとの広告計画
  3. 03頻度制限による広告疲れの軽減

インストール

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

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill remarketing-strategy

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

詳細

リマーケティング戦略

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

説明

リマーケティング戦略スキルは、コンバージョンファネルのあらゆる段階でユーザーに再アプローチする、クロスチャネルのリマーケティングアーキテクチャを設計・実装します。リマーケティングは、すでに関心を示したユーザーをターゲットにするため、デジタル広告において常に最も ROI の高い戦術です。このスキルは、「過去の訪問者に広告を表示する」という基本的なアプローチを、段階的なメッセージ配信、フリークエンシー管理、デバイス間のオーケストレーションを備えた、ファネルを考慮した高度なリマーケティングシステムへと進化させます。

このスキルは、ファネル内の位置とエンゲージメントの深さに基づいてオーディエンスを分類します。具体的には、ファネル上部の訪問者(単一ページのセッション)、ファネル中部のエンゲージメントユーザー(複数ページのセッション、コンテンツ閲覧者)、ファネル下部の見込み顧客(カート放棄者、フォーム入力開始者、価格ページ閲覧者)、コンバージョン後の顧客(アップセルと維持を目的とする)です。それぞれのセグメントには、認知の強化から緊急性を促すコンバージョンへの後押しまで、ブランドとの関係性に応じたメッセージが配信されます。

クロスチャネルでの実施には、ディスプレイリマーケティング、YouTube リマーケティング、RLSA(検索広告向けリマーケティングリスト)、商品別のクリエイティブを使ったダイナミックリマーケティング、デバイスをまたぐカスタマージャーニーのマッピングが含まれます。このスキルは、広告疲れを防ぐフリークエンシーキャップ、リーチと関連性のバランスを取るメンバーシップ期間の最適化、ユーザーを段階的にコンバージョンへ導く連続メッセージ配信を実施します。また、重複したメッセージ配信や無駄なインプレッションを防ぐため、除外オーディエンスのレイヤー管理も行います。

使用する場面

  • ユーザーが「リマーケティング」や「リターゲティング」戦略について質問した場合
  • ユーザーが「リマーケティングリスト」や「オーディエンスのセグメント化」に言及した場合
  • ユーザーが過去の訪問者やカート放棄者に「再アプローチ」したい場合
  • ユーザーが「フリークエンシーキャップ」や「広告疲れ」について質問した場合
  • ユーザーが「RLSA」や「検索向けリマーケティング」に言及した場合
  • ユーザーが「ダイナミックリマーケティング」や「商品リマーケティング」について質問した場合
  • ユーザーが「カスタマージャーニー」や「連続メッセージ配信」を構築したい場合
  • ユーザーが「デバイス間」ターゲティングや「クロスチャネル」リマーケティングに言及した場合
  • ユーザーが「メンバーシップ期間」や「オーディエンスウィンドウ」の最適化について質問した場合

アーキテクチャ

flowchart TD
    A[User Interaction Data] --> B[Funnel Stage Classifier]

    B --> C[Top of Funnel\nSingle Page, < 30s]
    B --> D[Mid Funnel\n2-3 Pages, Content Engaged]
    B --> E[Bottom Funnel\nCart/Form/Pricing Viewed]
    B --> F[Post-Conversion\nPurchasers, Leads]

    C --> G[Awareness Remarketing]
    G --> G1[Brand Story Ads]
    G --> G2[Educational Content]
    G --> G3[Social Proof]

    D --> H[Consideration Remarketing]
    H --> H1[Product/Service Benefits]
    H --> H2[Case Studies & Reviews]
    H --> H3[Comparison Content]

    E --> I[Conversion Remarketing]
    I --> I1[Urgency Messaging]
    I --> I2[Incentive Offers]
    I --> I3[Dynamic Product Ads]
    I --> I4[Cart Recovery Emails]

    F --> J[Retention Remarketing]
    J --> J1[Cross-Sell / Upsell]
    J --> J2[Loyalty Offers]
    J --> J3[Reactivation Campaigns]

    G1 --> K[Channel Orchestrator]
    G2 --> K
    G3 --> K
    H1 --> K
    H2 --> K
    H3 --> K
    I1 --> K
    I2 --> K
    I3 --> K
    J1 --> K
    J2 --> K
    J3 --> K

    K --> L[Display Network]
    K --> M[YouTube]
    K --> N[Search RLSA]
    K --> O[Discovery / Demand Gen]

    L --> P[Frequency Capping Engine]
    M --> P
    N --> P
    O --> P

    P --> Q[Cross-Device Graph]
    Q --> R[Unified User Journey]

実装

ファネルに基づくオーディエンスのセグメント化とリマーケティングアーキテクチャ:

const FUNNEL_SEGMENTS = {
  TOP: {
    name: 'Awareness Visitors',
    rules: { pagesViewed: 1, sessionDuration: '<30s', converted: false },
    membershipDuration: 30,
    messagingStrategy: 'brand_awareness',
    channels: ['display', 'youtube'],
    frequencyCap: { impressionsPerDay: 3, impressionsPerWeek: 10 }
  },
  MID: {
    name: 'Engaged Visitors',
    rules: { pagesViewed: '>=2', sessionDuration: '>=30s', converted: false },
    membershipDuration: 30,
    messagingStrategy: 'consideration',
    channels: ['display', 'youtube', 'search_rlsa'],
    frequencyCap: { impressionsPerDay: 5, impressionsPerWeek: 15 }
  },
  BOTTOM: {
    name: 'High Intent Prospects',
    rules: { viewedHighIntentPage: true, converted: false },
    membershipDuration: 14,
    messagingStrategy: 'conversion',
    channels: ['display', 'youtube', 'search_rlsa', 'demand_gen'],
    frequencyCap: { impressionsPerDay: 7, impressionsPerWeek: 25 }
  },
  POST_CONVERSION: {
    name: 'Customers',
    rules: { converted: true },
    membershipDuration: 180,
    messagingStrategy: 'retention',
    channels: ['display', 'youtube', 'search_rlsa'],
    frequencyCap: { impressionsPerDay: 2, impressionsPerWeek: 7 }
  }
};

async function buildRemarketingStrategy(customerId, config) {
  const { businessType, conversionActions, hasDynamicFeed } = config;

  const existingLists = await getRemarketingLists(customerId);
  const conversionData = await getFunnelConversionData(customerId);

  const strategy = {
    segments: buildFunnelSegments(conversionData, businessType),
    sequentialMessaging: designSequentialChains(conversionData),
    dynamicRemarketing: hasDynamicFeed ? configureDynamic(customerId) : null,
    rlsaStrategy: configureRLSA(conversionData),
    frequencyCapping: optimizeFrequencyCaps(conversionData),
    exclusions: buildExclusionMatrix(),
    crossDeviceStrategy: configureCrossDevice(customerId)
  };

  return strategy;
}

function buildFunnelSegments(conversionData, businessType) {
  const segments = [];

  for (const [stage, config] of Object.entries(FUNNEL_SEGMENTS)) {
    const windows = stage === 'BOTTOM'
      ? [1, 3, 7, 14]
      : stage === 'MID'
        ? [7, 14, 30]
        : [14, 30, 60, 90];

    for (const window of windows) {
      segments.push({
        name: `${config.name} - ${window}d`,
        funnelStage: stage,
        membershipDuration: window,
        rules: config.rules,
        estimatedSize: estimateAudienceSize(conversionData, config.rules, window),
        bidAdjustment: calculateBidAdjustment(stage, window),
        messagingTheme: config.messagingStrategy
      });
    }
  }

  return segments;
}

function calculateBidAdjustment(stage, windowDays) {
  const baseAdjustments = { TOP: 0, MID: 20, BOTTOM: 50, POST_CONVERSION: 15 };
  const recencyBoost = Math.max(0, 30 - windowDays);
  return `+${baseAdjustments[stage] + recencyBoost}%`;
}

連続メッセージ配信とダイナミックリマーケティング:

function designSequentialChains(conversionData) {
  return {
    newVisitorChain: [
      { day: 1, message: 'brand_introduction', creative: 'brand_video_15s', channel: 'youtube' },
      { day: 3, message: 'value_proposition', creative: 'benefit_display_ads', channel: 'display' },
      { day: 7, message: 'social_proof', creative: 'testimonial_ads', channel: 'display' },
      { day: 14, message: 'soft_cta', creative: 'content_offer', channel: 'demand_gen' }
    ],
    cartAbandonerChain: [
      { hour: 1, message: 'cart_reminder', creative: 'dynamic_product_ads', channel: 'display' },
      { day: 1, message: 'urgency', creative: 'limited_stock_messaging', channel: 'display' },
      { day: 3, message: 'incentive', creative: 'discount_offer', channel: 'display' },
      { day: 7, message: 'alternative_products', creative: 'related_products', channel: 'display' }
    ],
    customerRetentionChain: [
      { day: 30, message: 'thank_you', creative: 'loyalty_offer', channel: 'display' },
      { day: 60, message: 'cross_sell', creative: 'complementary_products', channel: 'display' },
      { day: 90, message: 'reactivation', creative: 'win_back_offer', channel: 'demand_gen' }
    ]
  };
}

function configureDynamic(customerId) {
  return {
    feedRequirements: {
      requiredAttributes: ['id', 'title', 'image_link', 'price', 'final_url'],
      recommendedAttributes: ['sale_price', 'brand', 'custom_label'],
      feedSource: 'merchant_center_or_custom'
    },
    templateStrategy: {
      singleProduct: { layout: 'product_image_price_cta', bestFor: 'product_page_viewers' },
      multiProduct: { layout: 'carousel_recently_viewed', bestFor: 'category_browsers' },
      offerOverlay: { layout: 'product_with_promo_badge', bestFor: 'cart_abandoners_with_offer' }
    },
    responsiveDisplayAds: {
      headlines: ['Come Back for {product_name}', 'Still Interested?', 'Don\'t Miss Out'],
      descriptions: ['Complete your purchase today.', 'Limited stock available.'],
      promotionText: 'Free shipping on orders over $50'
    }
  };
}

function configureRLSA(conversionData) {
  return {
    bidOnlyMode: {
      audiences: ['all_visitors_30d', 'engaged_visitors_30d'],
      bidAdjustments: {
        all_visitors: '+15%',
        engaged_visitors: '+30%',
        cart_abandoners: '+50%'
      },
      useCase: 'Increase bids for past visitors on existing keywords'
    },
    targetAndBidMode: {
      audiences: ['cart_abandoners_14d', 'past_purchasers_180d'],
      additionalKeywords: ['broad_match_generic_terms'],
      useCase: 'Show ads on broader queries only to high-intent past visitors'
    }
  };
}

function buildExclusionMatrix() {
  return {
    rules: [
      { campaign: 'prospecting', exclude: ['all_visitors_30d'] },
      { campaign: 'consideration_remarketing', exclude: ['converters_30d', 'top_of_funnel_only'] },
      { campaign: 'conversion_remarketing', exclude: ['converters_30d'] },
      { campaign: 'retention_remarketing', exclude: ['non_converters'] }
    ],
    rationale: 'Prevent audience overlap to ensure each user receives funnel-appropriate messaging'
  };
}

Buddy™ Agent との統合

リマーケティング戦略は、Buddy™ Agent におけるリテンションと再エンゲージメントのオーケストレーションレイヤーです。このプラットフォームは、オーディエンスリストの作成、メンバーシップ期間の管理、連続メッセージ配信の展開、フリークエンシーキャップの最適化という、リマーケティングのライフサイクル全体を自動化します。

Buddy™ はファネルの段階ごとにリマーケティングのパフォーマンスを監視し、戦略を自動調整します。セグメントのコンバージョン率が低下している(広告疲れの兆候)ことを検知すると、フリークエンシーキャップを引き下げ、クリエイティブを更新します。セグメントのパフォーマンスが好調な場合は、予算の増額とオーディエンスの拡大を提案します。

このスキルは、リスト作成を担うオーディエンスタゲティングスキル、リマーケティング用クリエイティブを担う広告コピー生成スキル、コンバージョン後のオーディエンスを正確に定義するためのコンバージョントラッキングスキルと緊密に連携します。Buddy™ は、ユーザーがリマーケティングファネルをどのように進み、どこでコンバージョンまたは離脱するかを示す、統合されたカスタマージャーニーのビューを提供します。

ベストプラクティス

  1. リマーケティングリストをファネルの段階ごとに分類し、すべての訪問者に同じメッセージを配信しないでください
  2. ファネル下部のオーディエンスには、緊急性を保つため、メンバーシップ期間を短く(7-14 日)設定してください
  3. 広告疲れを防ぐため、フリークエンシーキャップを設定してください(ほとんどのセグメントで 1 日あたり 3-5 回のインプレッション)
  4. ユーザーをコンバージョンへ段階的に導く、シーケンシャルなメッセージ配信を構築してください
  5. 無駄なインプレッションを防ぐため、獲得目的のリマーケティングから最近コンバージョンしたユーザーを除外してください
  6. e コマースではダイナミックリマーケティングを使い、ユーザーが閲覧した特定の商品を表示してください
  7. 購買意向の高いリマーケティングリストには、RLSA の入札単価を +30-50% 調整してください
  8. ファネルの各段階に専用の予算を割り当て、段階ごとに個別のリマーケティングキャンペーンを作成してください
  9. 広告疲れを軽減するため、4-6 週間ごとにリマーケティングのクリエイティブを更新してください
  10. デバイス間でメッセージの一貫性を保つため、クロスデバイスリマーケティング(ログインユーザー)を活用してください

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

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

関連スキル

  • オーディエンスターゲティング - オーディエンスリストの作成とセグメント化により、リマーケティングリストの作成を強化します
  • 広告コピーの生成 - シーケンシャルなリマーケティングメッセージには、ファネルの段階ごとに調整した広告クリエイティブが必要です
  • コンバージョントラッキング - 正確なコンバージョンイベントによって、コンバージョン後のオーディエンスの範囲が決まります
  • エンティティメモリー管理 - セッションをまたいでリマーケティングファネルのパフォーマンスとオーディエンスの行動を追跡します

キーワード

リマーケティング戦略、リターゲティング、RLSA、ダイナミックリマーケティング、オーディエンスのセグメント化、フリークエンシーキャップ、シーケンシャルなメッセージ配信、カスタマージャーニー、クロスデバイスリマーケティング、リマーケティングリスト、カート放棄、ファネルリマーケティング、ディスプレイリマーケティング、YouTube リマーケティング、リマーケティングのベストプラクティス


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

コメント