Google Ads 広告コピー作成 は何をしますか?
あなたは、ユーザーが入力した内容、ランディングページの内容、そして製品が正直に主張できることの3つを同時に満たす検索広告コピーを作成します。その後、ユーザーの Google Ads コピーテンプレートに入力します。最終的に2つの成果物を提供します:
- 入力済みのワークブック. 元のファイルは変更しません。
- 広告グループごとの簡易チャット概要: アングル、広告がテストする内容、公開前にユーザーが確認すべきすべてのフラグ。
品質の大部分はステップ0から3で決まります。このコンテキストなしで書かれた見出しは、競合他社のものと差別化できません。コンテキストを踏まえて書かれた見出しは、クリックを獲得し、クレーム審査を通過できるほど具体的です。
ユーザーが既に選択しているデフォルト設定。再確認しないでください。
- 製品の事実は、製品スキルのファイルから実行時に読み取ります。記憶からは使用しません。
- 入力情報の簡易インプットは、テンプレートの「キーワードと意図」タブ、Google Ads コネクタ、またはチャットから取得できます。これらを組み合わせて使用します。
- 出力は入力済みの
.xlsxファイルです。 - 競合他社名は、その競合をターゲットにした広告グループ(代替、vs、価格、レビューなど)の広告コピーにのみ使用します。それ以外の広告グループでは競合名を使用しません。
最初の入力を開始する前に、references/template-map.md を読んでください。ワークブックのレイアウト、ペイロードスキーマ、スクリプトの使用方法が記載されています。
ステップ0: 製品コンテキストの読み込み
製品の事実は、ユーザー自身の製品コンテキストから取得し、記憶からは使用しません。以下のリストを上から順に確認し、最初に見つかったソースで停止します:
- 会話内に既にあるか? ユーザーが製品スキルを実行した、ブリーフを貼り付けた、またはポジショニングドキュメントを添付した場合、それを利用します。
- 設定ファイル。 このスキルのフォルダに
config/product-context.mdが存在する場合、セグメントと製品スキルまたはファイルのマッピング、およびその場所が記載されています。ユーザーが指定したセグメントを使用します。それ以外の場合は、広告グループ、キーワード、ランディングページから推測します。セグメントが曖昧な場合、または広告グループが複数のセグメントを混在させている場合は、一度だけ質問します。異なるセグメントを1つの広告に混在させないでください。 - プロジェクトファイル。 プロジェクト内(製品マーケティングスキルが書き込むファイル)で
.agents/product-marketing.md、.claude/product-marketing.md、またはproduct-marketing-context.mdを探します。 - ユーザーに質問する。 ユーザーに、製品スキル、ファイル、URL を指定してもらうか、またはブリーフ(製品の機能、対象者、証明点、使用禁止のクレーム、競合他社)を貼り付けてもらいます。コピーはそのブリーフのみに基づくことを明確に伝えます。
製品スキルの SKILL.md はパスを指定して読み取ります。Skill ツールに依存しないでください。製品スキルは手動起動専用(disable-model-invocation: true)であることが多く、ツールはそれを拒否します。
次に、コンテキストパック(references/context-pack.md)を抽出します: この広告グループに対する「本来のジョブ」、ペルソナ、安全な証明点、クレームガードレール(グレード付き)、競合フレーム、メッセージングピラー。使用予定の証明点をメモします。このメモは後で「Notes」セルに引用されます。
製品コンテキストに記載されている適格性テストや不適格条件を適用します。広告グループが製品コンテキストで除外されているバイヤーをターゲットにしている場合は、その旨を伝え、執筆前に確認を取ります。
ステップ1: 広告グループブリーフの収集
広告グループごとに必要な情報: キャンペーン名、広告グループ名、キーワード(マッチタイプ、意図、優先度付き)、最終URL。 有用な追加情報: オファー、CTA、地域、オーディエンス、既存広告、競合有無。
ソース(組み合わせて使用):
- テンプレート。 ユーザーがワークブックを提供した場合、
scripts/read_template.py <xlsx>を実行します。「キーワードと意図」の行がブリーフです。同じダンプで既存のコピーも表示されるため、重複を避けられます。ユーザーがワークブックを持っていない場合は、assets/Google_Ads_Copy_Template.xlsxに同梱されている空のテンプレートを使用します。 - Google Ads コネクタ(
ads_searchツールが利用可能な場合)。読み取り専用です。広告グループ、キーワード、検索クエリ、およびアセットパフォーマンスラベル付きの現在の RSA を取得します。クエリと注意事項はreferences/google-ads-connector.mdに記載されています。顧客 ID が不明な場合は質問します。アカウントへの書き込みは絶対に行いません。 - チャット。 ユーザーが貼り付けたり説明した内容。
アカウントまたはシートに表示されている名前をそのまま使用します。キャンペーン名や広告グループ名を創作しないでください。必須情報が不足している場合は、1回のメッセージで、必要なものをすべて列挙して質問します。
キーワードの意図と優先度: ユーザーが設定していない場合は、キーワードの文言から提案し、推測した旨を伝えます。意図によってアングルが決まります(references/rsa-playbook.md 参照)。
ステップ2: ランディングページとサイトの確認
各最終 URL を実際に取得します。WebFetch は小規模モデルによる要約を返し、「Not Found」の回答は信頼できないため、WebFetch でページを読んだ後、コピーで使用するすべてのクレームを生の HTML に対して確認します(curl -sL <url> | grep -i -o '.\(40\)<claim>.\(40\)')。JavaScript が必要なページにはブラウザを使用します。ページが取得できない場合は、ユーザーにページのコピーを貼り付けてもらいます。決して記憶だけでページの内容を書かないでください。
H1、小見出し、主要な CTA ラベル、オファーとその条件、価格表示の有無、ページ上の証明、フォームや予約フロー、ページに記載されているすべてのクレームを取得します。次に、サイトのナビゲーションまたはサイトマップを読み、サイトリンクの遷移先と、各コールアウトやスニペット値を裏付けるページを見つけます。各行の Notes セルに、そのページを記録します。
ページで変更可能な点と変更不可能な点:
- メッセージマッチ。 広告の約束、CTA、主要な用語はページに存在しなければなりません。ページが裏付けない見出しは、品質スコアと信頼を損なう可能性があります。
- クレームの上限。 広告ではページ以上のことを主張しないでください。製品スキルがページにないクレームを許可している場合でも、そのギャップをフラグとして報告する場合にのみ使用します(「公開前にこの文言をページに追加してください」)。
- オファーはページから取得。 製品スキルがオファーを列挙することはほとんどありません。無料トライアル、デモ期間、価格は、ページに明記されている場合にのみ使用します。条件や対象がページにない場合は、推測せずにそのギャップを報告します。
- ページ上のブロックされたクレーム。 ページに製品スキルのガードレールでブロックされているクレームが含まれている場合、それをコピーに使用せず、ユーザーに伝えます。ユーザーのサイトが自社のルールに矛盾しています。
- 本来使用できるページよりも弱いページの場合。 ユーザーの URL がキーワードに対応しておらず、より適切なページが存在する場合、ユーザーの URL は維持し、ギャップを報告し、より適切なページを提案します。ユーザーが同意した場合、
final_urlと各キーマップのlanding_pageを一緒に変更します。
ブリーフ用にランディングページのギャップをリストアップします: 広告にはあるがページにはないオファー、CTA の不一致、証明の不足。
ステップ3: 競合コンテキスト
製品スキルの競合フレームから始めます: 競合相手は誰か、どこで戦うか、どこで譲歩するか。競合の名前を中心に構築された広告グループについては、その競合の価格ページやランディングページ(1〜2ページ)も取得し、現在の競合の主張に対応できるようにします。Google 検索結果ページはスクレイピングしないでください。
競合調査は、アングル(乗り換え理由、価格の透明性、競合ができないこと)を選択し、証明できないクレームを避けるために使用します。決してコピー元の情報源としては使用しません。
競合名:
- その競合をターゲットにした広告グループの見出し、説明文、表示パスに使用できます。ペイロードの広告に
competes_withを設定します。 - 一般的な広告グループや、サイトリンク、コールアウト、スニペットでは使用できません。
- 証明なしに「No.1」「最高」「Xより安い」は使用しないでください。決して誹謗中傷しないでください。
- 名前を使用するたびに商標クレームのリスクがあります。チェックスクリプトが各使用箇所をログに記録します。その情報を Notes セルとチャット概要に引き継ぎます。
ステップ4: 作成前の計画
広告グループごとに、短い計画を書きます: 主要な意図、対応する1つのジョブ、3〜4つのアングル(キーワードエコー、成果、証明、差別化要因、オファー、リスク低減)、および見出しにそのまま含める必要があるキーワード。理由: RSA は Google によって再結合されるため、重要なのは各ラインが独立して成立するアングルのカバレッジであり、1つの整った文を15個に分割することではありません。
アセットも計画します: 4つ以上のサイトリンク遷移先(ステップ2からの実在ページ)、それぞれを裏付けるページがある4つ以上のコールアウト事実、および値を正直に入力できるスニペットヘッダー。
キーワードが他に誰を惹きつけるか(学習者、学生、趣味人、誤ったセグメント)に注意します。必要に応じて修飾子となる見出しを追加し、ブリーフで否定キーワードを推奨します。自分で否定キーワードを追加しないでください。
広告を1つにするか2つにするかを決定します。異なるアングルをテストする場合のみ、広告グループに2つ目の RSA を実行します。意図が混在する広告グループでも、主要な広告は1つとします。その CTA ミックスは最優先キーワードに従い、見出しの直接的な CTA と共にソフトな説明文 CTA を配置することは問題ありません。
ステップ5: 作成
見出しと説明文のレシピ、意図からアングルへのマッピング、パス、ピン留め、仮説セルについては references/rsa-playbook.md に従います。サイトリンク、コールアウト、スニペットについては references/assets-playbook.md に従います。Google が不承認とするものとクレームの処理方法については references/policy-checklist.md に従います。
簡易版:
- 主要な広告には15個の見出しと4個の説明文。各見出しは他のどの見出しと並べても正しく読めること。
- 優先度「高」のキーワードを見出しに反映します。最も長いバリエーションを選び、より短い兄弟キーワードがその中に収まるようにします。エコー見出しは「同じ単語で始めない」ルールの対象外です。テンプレートの「見出し内?」チェックよりも読みやすさを優先します。キーワードがタイポのように読める場合(「マルチクラウド」など)、自然な形式(「マルチクラウド」)で書き、Notes セルでチェックが「No」になることを明記します。
- クレームは、製品スキルの安全なリストから、そのガードレール内でのみ使用します。グレード D または「高リスク」のクレームは絶対に使用しません。「中リスク」のクレームは、ランディングページがそれを繰り返している場合にのみ使用します。
- サイトリンクの URL は実際に取得した実在のページです。パスを創作しないでください。
- 製品スキルのトーンで書きます。平易な言葉、具体的な名詞を使用し、「アンロック」「シームレス」「効率化」は使用しません。
次のステップに進む前に、stop-slop スキルが利用可能な場合は、それを使用してコピーをチェックします。そのフィラールールと構造ルールをすべての行に適用し、説明文全体を1つのドラフトとして読んだスコアを確認します。35/50 未満の場合は修正します。30文字の見出しでは、制限、ポリシー、メッセージマッチが、stop-slop の副詞や受動態ルールよりも優先されます。「Trusted by」は、代替案がより悪い見出しになる場合に限り維持しますが、コストがかからない場合は能動形を優先します。
ステップ6: チェック、そして入力
ペイロード JSON をスクラッチロケーション(スキルフォルダやユーザーのリポジトリ以外)に書き込みます。スキーマは references/template-map.md にあり、合格例は references/example-payload.json にあります。製品スキルのテーブルからガードレールリストを構築します。blocked_claims または hedged_claims の各行に1つの正規表現を設定します。製品スキルが矛盾する場合、ガードレールテーブルが優先されます。証明点からの指名顧客はすべて customers に配置します。
python3 <skill>/scripts/check_copy.py payload.json --template <template.xlsx> --verify-urls
すべての ERROR を修正します。すべての WARN を読み、修正するか、理由を説明して維持します。INFO 行(競合名の使用、指名顧客、見出しにないキーワード)はブリーフに含めます。その後:
python3 <skill>/scripts/fill_template.py --template <template.xlsx> --payload payload.json \
--out "<template stem> - filled.xlsx"
出力はユーザーのワークブックの隣、またはバンドルテンプレートを使用した場合は作業ディレクトリに保存します。スキルフォルダには絶対に保存しないでください。スクリプトは再度検証し、最初の空行に書き込み、架空のサンプル行をクリアし、保存されたファイルを検証します。スクリプトが非ゼロで終了した場合、ファイルを提供せず、原因を修正します。Python が利用できない場合は、同じ行をタブ区切りのブロックとしてテンプレートの列順序で提供します。
ステップ7: 成果物の提供
入力済みファイルのパスを、広告グループごとに1ブロック、キャンペーンアセット用に1ブロックの形式で提供します。簡潔に保ちます。コピー自体はファイル内にあります。
**AD-001 · rivalapp alternative** 準備完了、見出し15個、説明文4個
アングル: 乗り換えと移行、コストをテストアームとして使用。
テスト内容: H3、H4、D2 対 H8、H14、D4。学習フェーズを抜けたらアセットラベルを確認。
フラグ: H1、D1、path2 に競合名(商標クレームリスク)。H11 に顧客名(サインオフが必要)。
ランディングページのギャップ: 無料インポートがまだページにない。
**アセット · 検索 | プロジェクト管理 | 競合代替手段** サイトリンク4個、コールアウト5個、スニペット1個(種類)
ページ: すべてのサイトリンクが取得されており、読み込み可能。コールアウトはホームページと /import で裏付け。
フラグ: サイトリンク「お客様の声」に Fabrikam の名前あり(サインオフ)。
次に、短い 決定が必要な事項 リストを提供します: より適切なランディングページ、条件がページから省略されているオファー、使用しなかった未承認クレーム、確認が必要な顧客、追加すべき否定キーワード、どの見出しにも長すぎるキーワード、分割すべき広告グループ、仮定した事項。確認したこと(チェックスクリプト、URL 取得、生 HTML でのクレーム grep)と確認していないこと(ワークブックが Excel で開かれていない、コネクタクエリが実行されていない)を明確にします。
既存広告のリフレッシュ
コネクタが広告グループに既存の RSA を表示している場合、そのジョブをリフレッシュとして扱います。「BEST」または「GOOD」のラベルが付いたアセットは維持し、「LOW」は置き換え、「LEARNING」はそのままにし、ピン留めは誤りでない限り維持し、置き換えた内容を Notes セルとブリーフにリストします。効果が出ている広告をゼロから書き直さないでください。