mcpField
A
ad-copy-generation

ad-copy-generation

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

ad-copy-generation について

Google Ads のレスポンシブ検索広告を作成・テストする広告チーム向けスキルです。ポリシーに配慮した見出しと説明文を生成し、広告バリエーションのテストと Buddy™ のレビューにも対応します。

主な機能

  1. 01RSAの見出しと説明文を生成
  2. 02AIDAとPASの手法を適用
  3. 03DKIとピン設定に対応
  4. 04広告バリエーションの作成とテスト
  5. 05Buddy™でバリエーションを確認

活用シーン

  1. 01新しいレスポンシブ検索広告を作成
  2. 02成果の低い広告文を更新
  3. 03A/Bテスト用の案を準備
  4. 04広告の強度と関連性を改善

インストール

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

$npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill ad-copy-generation

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

詳細

広告文の生成

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

説明

広告文生成スキルは、数百万件の広告パフォーマンスデータを基に調整された、AI 主導の生成パイプラインを使用して、高パフォーマンスのレスポンシブ検索広告(RSA)の広告文を作成します。見出し(最大15個、各30文字以内)と説明文(最大4個、各90文字以内)を生成し、Google 広告の編集ポリシーを遵守しながら、広告の有効性、クリック率、コンバージョンとの関連性を最適化します。

生成エンジンは、AIDA(注意、関心、欲求、行動)、PAS(問題、煽り、解決)、ベネフィット訴求型メッセージなど、実績のあるコピーライティングのフレームワークを適用します。適切な場合は動的キーワード挿入(DKI)の構文を取り入れ、広告を制御しながら組み立てるためのピン留め戦略を管理し、体系的な A/B テスト用のバリエーションを生成します。各広告バリエーションは、送信前に Google の広告の有効性に関する基準に照らして評価されます。

生成だけでなく、このスキルは広告文のライフサイクル全体を管理します。メッセージングの不足箇所を特定するための競合広告分析、パフォーマンスに基づくバリエーションの整理、A/B テストの統計的有意性検定、勝ちパターンの自動拡大が含まれます。Buddy™ プラットフォームと連携して過去のパフォーマンスデータから学習し、アカウントや業界ごとの生成品質を継続的に向上させます。

使用する場面

  • ユーザーが「広告文を書いて」または「広告を生成して」と依頼した場合
  • ユーザーが RSA 用の「新しい見出し」や「新しい説明文」を求めた場合
  • ユーザーが「広告の有効性」の改善に言及した場合
  • ユーザーが「A/B テスト用のバリエーション」や「広告テスト」を依頼した場合
  • ユーザーが広告の「クリック率を改善」したい場合
  • ユーザーが「レスポンシブ検索広告」や「RSA の最適化」に言及した場合
  • ユーザーが「動的キーワード挿入」や「DKI」について尋ねた場合
  • ユーザーが「ピン留め戦略」の提案を求めた場合
  • ユーザーが「古くなった広告文を刷新」または「広告疲れに対処」したい場合

アーキテクチャ

flowchart TD
    A[Input: Keywords, Landing Page, USPs] --> B[Context Analysis]
    B --> C[Landing Page Scraper]
    B --> D[Keyword Intent Classifier]
    B --> E[Competitor Ad Analyzer]

    C --> F[Message Map Builder]
    D --> F
    E --> F

    F --> G[AI Generation Engine]
    G --> H[Headline Generator\nmax 30 chars x 15]
    G --> I[Description Generator\nmax 90 chars x 4]

    H --> J[Policy Compliance Check]
    I --> J

    J --> K[Ad Strength Scorer]
    K -->|Excellent| L[Final Ad Variants]
    K -->|Good| L
    K -->|Average| M[Regenerate with Feedback]
    K -->|Poor| M
    M --> G

    L --> N[Pin Strategy Optimizer]
    N --> O[A/B Test Plan]
    O --> P[Deploy to Google Ads]

実装

文字数制限の適用と DKI のサポートを備えた、広告文生成の中核機能:

const HEADLINE_MAX_LENGTH = 30;
const DESCRIPTION_MAX_LENGTH = 90;
const MAX_HEADLINES = 15;
const MAX_DESCRIPTIONS = 4;

const COPYWRITING_FRAMEWORKS = {
  AIDA: ['attention', 'interest', 'desire', 'action'],
  PAS: ['problem', 'agitate', 'solve'],
  BENEFIT: ['primary_benefit', 'secondary_benefit', 'proof', 'cta']
};

async function generateAdCopy(config) {
  const { keywords, landingPageUrl, usps, industry, targetAudience } = config;

  const landingPageContent = await scrapeLandingPage(landingPageUrl);
  const competitorAds = await analyzeCompetitorAds(keywords);
  const intentSignals = classifyKeywordIntent(keywords);

  const headlines = await generateHeadlines({
    keywords,
    usps,
    competitorAds,
    intentSignals,
    landingPageContent,
    maxLength: HEADLINE_MAX_LENGTH,
    count: MAX_HEADLINES
  });

  const descriptions = await generateDescriptions({
    keywords,
    usps,
    landingPageContent,
    maxLength: DESCRIPTION_MAX_LENGTH,
    count: MAX_DESCRIPTIONS
  });

  return buildAdVariants(headlines, descriptions);
}

function applyDynamicKeywordInsertion(headline, defaultText) {
  const dkiSyntax = `{KeyWord:${defaultText}}`;
  if (dkiSyntax.length <= HEADLINE_MAX_LENGTH) {
    return dkiSyntax;
  }
  return defaultText;
}

function generatePinStrategy(headlines, descriptions) {
  return {
    position1: headlines.filter(h => h.type === 'brand' || h.type === 'primary_keyword'),
    position2: headlines.filter(h => h.type === 'benefit' || h.type === 'usp'),
    position3: headlines.filter(h => h.type === 'cta' || h.type === 'offer'),
    desc1: descriptions.filter(d => d.type === 'primary'),
    desc2: descriptions.filter(d => d.type === 'supporting')
  };
}

広告バリエーション用の A/B テストフレームワーク:

function createABTestPlan(adVariants, config) {
  const { minImpressions = 1000, confidenceLevel = 0.95 } = config;

  return {
    controlGroup: adVariants[0],
    testGroups: adVariants.slice(1),
    evaluationCriteria: {
      primaryMetric: 'conversion_rate',
      secondaryMetrics: ['ctr', 'cost_per_conversion'],
      minImpressions,
      confidenceLevel,
      testDuration: calculateMinTestDuration(minImpressions)
    },
    decisionRules: {
      winner: 'statistically_significant_improvement',
      loser: 'statistically_significant_decline',
      inconclusive: 'extend_test_or_increase_budget'
    }
  };
}

function evaluateAdStrength(headlines, descriptions) {
  let score = 0;
  const uniqueHeadlines = new Set(headlines.map(h => h.text.toLowerCase()));
  if (uniqueHeadlines.size >= 8) score += 25;
  if (headlines.some(h => h.includesKeyword)) score += 15;
  if (headlines.some(h => h.includesCTA)) score += 15;
  if (headlines.some(h => h.includesNumber)) score += 10;
  if (descriptions.length >= 4) score += 15;
  if (descriptions.some(d => d.includesCTA)) score += 10;
  if (descriptions.some(d => d.includesUSP)) score += 10;

  if (score >= 80) return 'Excellent';
  if (score >= 60) return 'Good';
  if (score >= 40) return 'Average';
  return 'Poor';
}

Buddy™ エージェントとの連携

Buddy™ エージェントプラットフォームでは、広告文生成は中核的なクリエイティブエンジンとして機能します。Google Ads Audit スキルがパフォーマンスの低い広告や低い広告の有効性スコアを検出すると、関連するキーワード、ランディングページ、競合状況を事前に読み込んだ広告文生成パイプラインが自動的に起動します。

Buddy™ は生成されたすべての広告バリエーションのパフォーマンス履歴を保持し、各オーディエンスセグメントに響くメッセージを把握するための、アカウント固有のモデルを構築します。時間の経過とともに生成エンジンは業界固有のパターンを学習します。たとえば、どの CTA がコンバージョンにつながるか、どのベネフィット訴求が最も高い CTR をもたらすか、どの見出し構成が最も高い品質スコアを獲得するかを学びます。

このスキルは Buddy™ の承認ワークフローと連携し、生成したバリエーションをユーザーに提示して、配信前に確認できるようにします。ユーザーはバリエーションを承認、編集、却下できます。このフィードバックループによって生成モデルがさらに洗練されます。

ベストプラクティス

  1. Google のアルゴリズムに最大限の柔軟性を与えるため、常に10個以上の独自の見出しを用意してください
  2. 明確な行動喚起(CTA)を含む見出しを少なくとも1つ含めてください
  3. 動的キーワード挿入は控えめに使用し、デフォルトのテキストが自然に読める場合に限ってください
  4. ブランドやコンプライアンス上の要件で特定のメッセージ位置が必要な場合に限り、見出しをピン留めしてください
  5. パフォーマンスを判断する前に、広告グループごとに少なくとも3つの広告バリエーションをテストしてください
  6. パフォーマンスの低い広告を一時停止する前に、統計的有意性が得られるまで待ってください(通常、インプレッション数1,000以上)
  7. 少なくとも2~3個の見出しに数値、割合、または具体的なオファーを含めてください
  8. 広告の関連性と品質スコアを高めるため、説明文ではランディングページの表現に合わせてください
  9. 広告疲れに対処し、競争力のあるメッセージを維持するため、広告文を四半期ごとに更新してください
  10. 広告の有効性インジケーターを参考にしつつ、最終的な指標であるコンバージョンを最適化してください

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

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

関連スキル

  • 品質スコアの最適化 - 広告コピーは品質スコアの期待クリック率(Expected CTR)と広告の関連性(Ad Relevance)の各要素に直接影響します
  • キーワード調査 - キーワードと広告の整合性は広告の関連性にとって重要です。キーワードのテーマが広告グループのコピー戦略を左右します
  • ランディングページの監査 - 広告コピーとランディングページのメッセージの一致度は、品質スコアとコンバージョン率の両方に影響します
  • 競合分析 - 競合のメッセージングにおけるギャップは、広告コピーの差別化戦略に役立ちます

キーワード

広告コピーの生成、レスポンシブ検索広告、RSA の最適化、見出しの生成、説明文の作成、広告の強度、広告の A/B テスト、動的キーワード挿入、DKI、ピン留め戦略、広告コピーのテスト、Google 広告のコピーライティング、CTR の最適化、広告疲れ、広告バリエーションのテスト


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

コメント