Communitygithub.com

アトリビューション

マーケティング活動が実際にコンバージョンと収益にどのように貢献しているかを分析・解釈し、適切なアトリビューションモデルの選択、ツール間の数値の矛盾の調整、または自社でのアトリビューション計測の実装を支援します。

アトリビューション とは?

このスキルは、マーケティングアトリビューションに関する2つの主要な柱を提供します。(A)解釈: 既存のデータから適切なアトリビューションモデル(ファーストタッチ、ラストタッチ、ポジションベースなど)を選択し、測定アプローチ(MTA、MMM、インクリメンタリティ)を比較検討し、異なるツール間で矛盾する数値を調整するためのフレームワークです。特に、マーケティング予算の無駄をなくし、本当に効果のあるチャネルを特定するために不可欠です。(B)自社アトリビューション: ユーザーが自社のサイトやアプリを管理しており、自分自身でアトリビューション計測を実装したい場合に使用します。特に、自社ドメイン外(例: Calendly, Stripe)で発生するコンバージョンのトラッキング(ファーストパーティトラッキング)に焦点を当てています。このスキルは、Claude Code, Cursor, CodexなどのAIエージェントで使用することを想定しており、ユーザーのビジネスタイプ(B2B SaaS vs Eコマース)に応じて推奨事項を分岐させます。また、分析、広告、RevOpsといった隣接スキルとの明確な境界線を定義し、アトリビューションが担当する範囲を正確に切り分けます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coreyhaines31/marketingskills/tree/main/skills/attribution

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

アトリビューション は何をしますか?

あなたはマーケティングにおける最も難しい質問に答える手助けをします。「私のどの施策が、実際にこのコンバージョンとこの収益を生み出したのか?」 アトリビューションは、マーケターが最も多く予算を失う分野です。あるダッシュボードでは良く見え、別のダッシュボードではひどく見えるチャネル、「ダイレクト」や「ブランド検索」など、本当の発生源を隠してしまうチャネル、そして、意見を事実であるかのように静かにコード化するモデルに、予算は失われます。

このスキルには2つの柱があります。詳細に入る前に、ユーザーがどちらを必要としているかを把握してください。

  • (A) 解釈 — アトリビューションモデルの選択、測定アプローチの選定、そしてツールが報告する矛盾する数値の調整。これは、エンジニアリングがゼロであっても、すべての人に該当します。
  • (B) アトリビューションを自分で管理する(ファーストパーティ) — ユーザーがサイト/アプリを管理している場合に、アトリビューションを自分自身で計測し、統合すること。これは構築トラックです。ユーザーが「自分で追跡したい」と言ったり、自分が所有していないドメインで発生するコンバージョンに直面している場合に使用します。

ほとんどのリクエストは(A)から始まります。(B)に進むのは、ユーザーが対象サーフェスを管理しており、構築したい場合のみです。

プロダクトコンテキスト: .agents/product-marketing.md を確認し、存在する場合はそれを読んでください — ビジネスタイプ、販売サイクル、および主要なコンバージョンは、ここでのほぼすべての推奨事項を左右します。

境界 — このスキルが担当しないこと

隣接するスキルを再構築しないように、これらを最初に明確に述べておきます。

  • 一般的なイベントトラッキング、トラッキング計画、UTM設定、GA4/GTM → 分析 (analytics)。アトリビューションはトラッキングが存在することを前提とします。線引きは次の通りです。分析 = 「どのイベントを、どのように発火させるか」;アトリビューション = 「タッチがどのように結合してコンバージョンに至り、収益として残るか」。
  • 広告プラットフォームのピクセル、CAPI、サーバーサイドコンバージョントラッキング → 広告 (ads) (references/conversion-tracking.md)。アトリビューションはプラットフォームが報告する数値を消費し、そのバイアスを補正します。ピクセルを設定するわけではありません。
  • パイプラインステージ、リードライフサイクル、CRM収益ダッシュボード → RevOps。アトリビューションはパイプラインデータを提供します。ステージを定義するわけではありません。
  • AI検索での出現・測定 → AI SEO。アトリビューションはAIトラフィックを盲点として名指しするだけです。

柱 A — 解釈

1. アトリビューションが教えてくれること、教えてくれないこと

数値に触れる前に期待値を設定します。

  • アトリビューションは方向性を示すものであり、真実ではありません。 不完全なデータ(Cookieの有効期限、セッションの断片化、オフラインタッチの消失、ある端末でリサーチし別の端末で購入するユーザー)から構築された因果関係のモデルです。強いヒントとして扱い、決定的な verdict としては扱わないでください。
  • すべてのモデルは意見です。 「ファーストタッチ」は最初の広告がすべての功績を得ると言い、「ラストタッチ」は最後のクリックがすべてを得ると言います。どちらも間違っており、その方向性が逆です。モデルを選ぶことは、誰のストーリーを信じるかを選ぶことです — そのことを声に出して伝えてください。
  • アトリビューションギャップは正常です。 チャネルが報告するコンバージョンの合計は、ほぼ常に実際のコンバージョンを上回ります。なぜなら、すべてのプラットフォームが同じ売上に対して功績を主張するからです。あなたの仕事は、ギャップを縮め、説明することであり、数値を完全に一致させることではありません。それは不可能です。

ユーザーが1つの真の数値を要求した場合、言い換えてください。「防御可能で一貫性のある数値と、どのチャネルが上昇トレンドにあるかという読み取り値を提供することはできます。単一の客観的な真実は存在しません — その理由と、それでも意思決定に使用するものを説明します。」

2. アトリビューションモデル

6つの標準モデルと、それぞれがいつどのように誤解を招くか:

モデルクレジットルール最適な用途どのように誤解を招くか
ファーストタッチ既知の最初のタッチに100%ファネル上部 / 需要創出の評価;短いサイクル案件を成立させたすべてを無視;アウェアネスチャネルを過大評価
ラストタッチコンバージョン前の最後のタッチに100%ダイレクトレスポンス、迅速なEコマースファネル下部 + ブランド検索/ダイレクトを過大評価;需要を創出したものを無視
ラスト非ダイレクト「ダイレクト」をスキップして最後のタッチに100%ダイレクト汚染に対する安価な修正依然としてシングルタッチ;盲点を移動させただけ
リニアすべてのタッチに均等なクレジットすべてのステップが重要な長期マルチタッチジャーニー重要でない訪問をデモのように扱う;高頻度チャネルを過大評価
時間減衰コンバージョンに近いタッチほど多くのクレジット近接性が重要な長期サイクルファネル上部を過小評価;依然として仮定であり、測定ではない
ポジションベース(U字型)最初に40%、最後に40%、中間に20%「創出」と「クローズ」の瞬間が明確なB2B40/40/20の分割は恣意的;中間のタッチは軽視される
データドリブン(アルゴリズム/Shapley)モデル化された限界貢献からのクレジット十分なコンバージョンがある大量アカウントブラックボックス;ボリュームが必要;提供されなかったオフライン/ダークタッチは見えない

経験則:

  • 長い販売サイクルでは、単一のモデルを単独で報告しないでください。ファーストタッチとラストタッチを並べて表示します — 真実はそれらの間にあり、それらの間のギャップこそがインサイトです。
  • データドリブンアトリビューションにはボリュームが必要です(Google Adsは歴史的に、30日間で約3,000の広告インタラクションと約300のコンバージョンを条件としていました。その後、最低条件を緩和しDDAをデフォルトとしましたが、ボリュームが少ないと、科学の装いをしたノイズにすぎません)。ボリュームが少ない場合は、代わりにポジションベースを使用してください。
  • モデル自体よりもはるかに重要なのは、一貫性を保ち、それをモデル外の健全性チェック(柱A §4、自己報告)と組み合わせることです。

モデルの計算、6つの方法でスコアリングされた1つのジャーニーの実例、そしてShapleyを平易に説明したものについては、references/attribution-models.md を参照してください。

3. 3つの測定パラダイム

モデルは追跡データ内でクレジットを分割します。パラダイムは、因果関係にどのようにアプローチするかです — 厳密さが増すにつれて、コストも増加します。

| パラダイム | 概要 | 答える質問 | 必要なもの | 注意点 | |---|---|---|---| | MTA (マルチタッチアトリビューション) | ユーザーレベルのタッチを統合し、モデルを適用 | 「コンバージョンに至るジャーニーにはどのタッチポイントが現れるか?」 | クリーンなクロスデバイスユーザーレベルのトラッキング | Cookieの消失 + プライバシーによりユーザーレベルのデータが壊滅的に減少;静かに過小評価する | | MMM (メディア/マーケティングミックスモデリング) | 支出対成果のトップダウン回帰(経時) | 「オフライン/ブランドを含む、各チャネルの総合的な貢献は?」 | 2~3年の週次データ、支出変動 | 相関関係;反応が遅い;学習には実際の予算変動が必要 | | インクリメンタリティ (地域ホールドアウト、PSA、ゴースト広告、オン/オフ) | 制御実験:露出群 vs. 非露出群 | 「このチャネルは、他の方法では得られなかったリフトを実際に生み出したか?」 | 非露出を作る能力;有意性のための十分なボリューム | ゴールドスタンダードだが、一度にテストできるのは少数の要素のみ |

選択方法: 少予算 / 短サイクル → 適切なUTM + ラスト非ダイレクト + 自己報告調査で、派手なモデルに勝ります。中予算、複数チャネル → 日常的なMTA + 最大の費用項目に対する定期的なインクリメンタリティテスト。大予算、オフライン + ブランド支出 → ポートフォリオ全体に対するMMM + MMMの係数を検証するためのインクリメンタリティ。2つのチャネルが同じコンバージョンを主張する場合は、常にインクリメンタリティが決定打となります。

予算×販売サイクル×チャネル数による意思決定表、および地域ホールドアウト/PSAテストの読み方(統計チュートリアルではない)については、references/measurement-paradigms.md を参照してください。

4. 自己報告アトリビューション

最も活用されていないシグナルであり、長期サイクルやダークソーシャルでは、しばしば最も正直です。コンバージョン後の「どうやって私たちのことを知りましたか?」という調査は、トラッキングが構造的に取得できないもの(ポッドキャスト、口コミ、Slackコミュニティ、創業者のツイート、「友達が教えてくれた」)を捕捉します。

  • トラッキングよりも優れる場合: 長い検討サイクル、高い口コミ率、ブランド/コミュニティ主導、またはヘビーなダークソーシャル(§5参照)。ジャーニーの大部分が「ダイレクト」である場合、そこには自己報告に適した穴があります。
  • コンバージョンの瞬間に質問する(サインアップ、初回購入、デモリクエスト)— 記憶が薄れる前で、最も想起率が高いです。
  • 文言: 自由記述(「どうやって初めて私たちのことを知りましたか?」)はダークソーシャルを捕捉します。短い選択リストは定量化が容易ですが、回答にバイアスをかけます。ベストプラクティス:既知のチャネルの選択リスト に加えて、自由記述の「その他/詳しく教えてください」 を追加します。
  • 三角測量の入力として扱い、絶対的な真実として扱わない — 想起は曖昧であり、人々は記憶に残るタッチを評価し、最初のタッチではありません。これは、追跡モデルの誠実さを保つモデル外のチェックです。
  • 構築面では、これはCRM/分析に人物プロパティとして書き込まれるフォームフィールドです — 柱Bおよび references/first-party-tracking.md を参照してください。

5. 矛盾する情報源の調整

ほとんどのアトリビューション作業の背後にあるリクエスト:「Googleは50と言い、Metaは40と言い、GAは60と言い、CRMは35と言う — 誰が正しいのか?」 誰も正しくありません。以下がそのフレームワークです。

各情報源が体系的に誤る理由:

情報源バイアスの方向理由
広告プラットフォーム(Google/Meta/LinkedIn)自分自身を過大計上自社のウィンドウ内でビュースルー+クリックコンバージョンを主張;すべてのプラットフォームが同じ売上を計上;良好に見える動機がある
GA / Web分析ラスト非ダイレクトクリッククロスデバイス、Cookieブロックユーザーを喪失;不明なものをダイレクトに分類
CRM担当者が入力したもの/フォームが取得したもの人的入力、リードソースの上書き、デジタル証跡のないオフライン案件
自己報告調査記憶に残るタッチ想起バイアス;リターゲティングのような地味だが実際のタッチを過小計上

三角測量の方法:

  1. コンバージョン数の単一の信頼できる情報源を選ぶ — 通常はCRMまたはバックエンド(お金が実際に動くシステム)。他のすべては、それらがどこから来たのかを説明するものであり、いくつあるかを再定義するものではありません。
  2. プラットフォーム間で決して合計しない。 GoogleとMetaの両方がコンバージョンを主張する場合、それは2つのコンバージョンではなく、2つの申立人がいる1つのコンバージョンです。信頼できる情報源の合計に対して重複排除します。
  3. 絶対的な一致ではなく、方向性の一致を読む。 すべての情報源が、今四半期は有料検索が上昇し、オーガニックが下降していると言っている場合、2つの数値が一致しなくても、そのトレンドは信頼できます。
  4. プラットフォームが同じコンバージョンを争う場合の決定打として自己報告を使用し、そのリスクを正当化するテストが可能な場合はインクリメンタリティを使用します。
  5. ギャップを予想し、予算に計上する。 「プラットフォームはNを主張、検証可能なのはM、差額は過剰請求+ビュースルー+未追跡分 — これが最善の配分です。」と報告します。

出力は、小数第何位までの誤った調整ではなく、信頼レベルのある正直な配分です。

6. 盲点

コンバージョンが隠れ、実際のチャネルを弱く見せる場所:

  • ダイレクト — ガラクタ箱。ブックマークとURL直接入力だけでなく、リファラーが削除されたもの、アプリからWebへの遷移、ダークソーシャル、およびトラッキングがドロップしたタッチも含まれます。ダイレクトのシェアが大きいことは、測定の問題であり、チャネルの問題ではありません。
  • ブランド検索 — 別の場所で自社を発見し、社名をGoogle検索した人。ラストタッチはクレジットを有料/オーガニックのブランド検索に渡します。本当のドライバーは、彼らが検索するきっかけを作ったものです。ブランド検索と非ブランド検索をセグメント化しないと、ファネル上部から予算を削ってしまいます。
  • ダークソーシャル — リファラーを伝えない共有:DM、Slack/Discord、ポッドキャスト、ニュースレター、スクリーンショット。トラッキングには構造的に不可視です。自己報告が唯一の確認方法です(§4)。
  • AIトラフィック — アシスタントとAI検索は、ますます購入者に影響を与え、その後ブランド検索やダイレクト経由で送信するため、AIタッチは分析で不可視です。それを名指しし、詳細な作業はai-seoに委ねます。

一貫したテーマ:「ダイレクト」と「ブランド検索」が支配的である場合、ファネル上部は機能しており、アトリビューションがそれを隠しています。 それを明示的に述べてください — これはマーケティングにおける最も一般的な誤読です。

7. ビジネスタイプ別の分岐

デフォルトは大きく異なります。概要はここに。完全なプレイブックは references/by-business-type.md にあります。

  • B2B SaaS(長期サイクル、営業支援型): ジャーニーは数週間から数ヶ月に及び、複数の人物が関与するため、シングルタッチモデルは大きく誤解を招きます。CRMを信頼できる情報源としてアンカーし、ファーストタッチ + ポジションベースを並べて使用し、デモ/サインアップ時の自己報告に大きく依存し、パイプライン/収益アトリビューション(→ RevOps)を本当のスコアボードとして扱います。オフラインタッチ(イベント、営業会話)は、ここでMTAを最も弱く、自己報告を最も強くします。
  • Eコマース / DTC(短期サイクル、セルフサービス): 迅速なジャーニー、大量のボリューム、支出は有料ソーシャル+検索に集中。プラットフォームのROASにアンカーするが、それを信用しない(iOS/CAPIインフレーション)、支出が重要になったらMMMで検証し、最大のチャネルではインクリメンタリティ/地域ホールドアウトを使用し、購入後調査でピクセルが見逃すものを捕捉します。ラストタッチは迅速なターンアラウンドのSKUでは防御可能です。MMM+インクリメンタリティが実際の予算配分方法です。

柱 B — アトリビューションを自分で管理する(ファーストパーティ)

これは、ユーザーがサイト/アプリを管理しており、自分自身でアトリビューションを計測したい場合、特に、自分が所有していないドメイン(SavvyCal/Calendly/Cal.comの予約ページ、Stripeのチェックアウトページ)で発生するコンバージョンのために使用します。この柱は、実際のプロダクションビルドに基づいています。コードパターンを含む完全なランブックは references/first-party-tracking.md にあります。以下が要点です。

アイデンティティグラフ

ファーストパーティアトリビューションの中心にあるアイデアはただ一つです:匿名ブラウジングと最終的なコンバージョンを結合すること。

  1. 訪問者が匿名で到着します。分析ツールは匿名の distinct_id を割り当て、イベントにファーストタッチプロパティ($initial_referrer, $initial_utm_*)をスタンプします。
  2. コンバージョン時(サインアップ、予約、購入)に、安定したID(メールアドレスやユーザーUUID)を使って identify() を呼び出します。これにより、匿名の履歴が既知の人物にマージされ、ファーストタッチがコンバージョンまで生き残るようになります。
  3. すべてのコンバージョンイベントを、ファーストタッチチャネルで分類できるようになります。これがすべてです。

identify() のギャップを埋める

最も一般的なファーストパーティアトリビューションの失敗:identify() が呼び出されないため、コンバージョンが閲覧履歴に結合されず、すべての顧客がどこからともなく現れたように見えることです。(Tessa KrieselのPostHogアプローチから着想を得たフレーミング)。修正方法は、実際の各コンバージョンでidentifyを呼び出すことです。まず監査してください — 多くのSaaSアプリはサインアップ時にすでにidentifyを呼び出しています。動作しているものを再構築する必要はありません。具体的な未計測のコンバージョンを見つけ、それらのみを修正します。

サードパーティドメインでのコンバージョンの統合

本当の機構が必要となる唯一のケース:サードパーティドメインでのコンバージョンです。

[truncated]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions

ads

When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions

ai-seo

When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers. Also use when the user mentions

analytics

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions

aso

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions

cold-email

Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions

co-marketing

When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says

community-marketing

Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: \

competitor-profiling

When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions

competitors

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions

content-strategy

When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions

copy-editing

When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions

copywriting

When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says

coreyhaines31/ab-test-setup

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics-tracking. For page-level conversion optimization, see page-cro.

coreyhaines31/analytics-tracking

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "attribution," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For A/B test measurement, see ab-test-setup.

coreyhaines31/aso-audit

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it.

coreyhaines31/competitor-alternatives

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement.

coreyhaines31/email-sequence

When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding-cro.

coreyhaines31/form-cro

When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms, demo request forms, application forms, survey forms, or checkout forms. Also use when the user mentions "form optimization," "lead form conversions," "form friction," "form fields," "form completion rate," "contact form," "nobody fills out our form," "form abandonment," "too many fields," "demo request form," or "lead form isn't converting." Use this for any non-signup form that captures information. For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.

関連スキル