attribution-modeling について
EC マーケティングチーム向けに、ファーストパーティーアトリビューションの設定とモデル比較を案内するスキルです。プラットフォーム別のツール、UTM の運用、独自データフローを扱います。
主な機能
- 01プラットフォーム別ツール選定
- 02UTM トラッキング規則
- 03ファーストパーティー計測設定
- 04アトリビューションモデル比較
- 05独自データウェアハウス構築
活用シーン
- 01広告媒体間の売上重複を確認
- 02獲得チャネルの予算配分
- 03モデル別のチャネル貢献度比較
- 04独自ストアの接点データ追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill attribution-modelingインストール後、Claude Code で/attribution-modelingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
tile.jsonevals/attribution-model-implementations/criteria.jsontask.mdevals/markov-chain-data-driven-attribution/criteria.jsontask.mdevals/touchpoint-capture-and-conversion-path-l/criteria.jsontask.md詳細
アトリビューションモデリング
概要
アトリビューションモデリングでは、コンバージョンに至るまでのどのマーケティング接点に貢献度を割り当てるかを判断し、広告費の配分先について適切な意思決定を行えるようにします。広告プラットフォーム(Meta、Google、TikTok)はそれぞれ独自のモデルでアトリビューションを報告しており、通常は自社に100%の貢献度を割り当てるため、各プラットフォームが報告する売上の合計が実際の売上を大きく上回ることがよくあります。
このスキルでは、自社プラットフォームにファーストパーティアトリビューションを設定する方法、複数のアトリビューションモデルを並べて比較する方法、カスタムパイプラインを構築せずに自動で処理する専用アトリビューションツールを利用する方法を説明します。
このスキルを使う場面
- Google Ads、Meta、メールなどのマーケティングチャネルが、同じ売上に対してそれぞれ異なる貢献度を主張している場合
- 顧客獲得チャネル間の予算配分を決める必要がある場合
- ラストクリックアトリビューションから移行し、顧客の購買行動全体を把握したい場合
- 複数のアトリビューションモデルでチャネルの実績を比較するマーケティング分析レポートを作成する場合
- iOSのトラッキング変更によって失われたデータを補うため、ファーストパーティアトリビューションを実装する場合
- アフィリエイト、インフルエンサー、有料検索がすべて同じ注文に貢献し、それぞれが100%の貢献度を主張している場合
基本手順
ステップ 1:プラットフォームを特定し、適切なアトリビューションツールを選択する
| プラットフォーム | 推奨ツール | 推奨理由 |
|---|---|---|
| Shopify | Triple Whale または Northbeam | どちらもShopifyのDTCブランド向けに特化しており、API経由で注文データを取得し、プラットフォーム間のアトリビューションの重複を除外して、ファーストパーティデータに基づくブレンドROASを表示します |
| Shopify(低予算) | 組み込みの Shopify Analytics アトリビューション機能 + UTMトラッキング | 無料です。すべての注文について、UTMソース別のラストクリックアトリビューションを表示します |
| WooCommerce | Metorik + GA4アトリビューション | MetorikはWooCommerceの注文にUTMトラッキングを追加し、GA4はデータドリブンアトリビューションモデルを提供します |
| BigCommerce | Rockerbox または Northbeam | どちらもAPI連携でBigCommerceに対応し、マルチタッチアトリビューションのダッシュボードを提供します |
| すべてのプラットフォーム(ミッドマーケット) | Rockerbox または Affluent | プラットフォームを問わず、すべてのチャネルから広告費を取得し、ファーストパーティの注文データと照合します |
| カスタム/ヘッドレス | Segment + dbt 上に構築するか、Triple Whale's pixel API を使用 | Segmentで接点を取得し、データウェアハウスに保存して、dbtでアトリビューションをモデル化します |
ステップ 2:すべてのチャネルでUTMトラッキングを正しく設定する
適切なアトリビューションは、一貫性のあるUTMパラメーターから始まります。これらが設定されていないと、トラフィックの40~60%が「ダイレクト」(ダークトラフィック)として表示されます。
チーム全体で徹底するUTM命名規則:
| パラメーター | 例 | ルール |
|---|---|---|
utm_source | google、meta、klaviyo | 必ず小文字にします。Google や GOOGLE は使用しません |
utm_medium | cpc、email、social | 標準化したリストを使用し、独自の値は追加しません |
utm_campaign | spring-sale-2026 | プラットフォーム間で一貫した形式にします |
プラットフォーム別の設定:
- Google Ads: 自動タグ設定を有効にします(
gclidが自動的に追加されます)。さらに、Campaign → Settings → Additional settings → Campaign URL options でUTMパラメーターを追加します - Meta Ads: Ad Set → Website URL でUTMパラメーターを追加するか、アカウントレベルでMetaのURLパラメーター機能を使用します
- Klaviyo: Account → Settings → UTM Tracking に移動し、すべてのメールキャンペーンとSMSキャンペーンでUTMパラメーターの自動追加を有効にします
- アフィリエイト/インフルエンサー: URLビルダーを使ってクリエイターごとに固有のUTMリンクを作成し、スプレッドシートでトラッキングします
ステップ 3:選択したツールでアトリビューションを設定する
Shopify
オプション A:Shopify 組み込みの分析機能(ラストクリック、無料)
- Analytics → Reports → Sessions over time に移動します
- Referral source で絞り込み、セッションを獲得した UTM ソースを確認します
- チャネル別の収益(ラストクリックアトリビューション)を確認するには、Analytics → Reports → Sales by traffic source に移動します
- 制限事項:Shopify 組み込みのアトリビューションは、30 日間のウィンドウでのラストクリックのみです。マルチタッチの経路は確認できません
オプション B:Triple Whale(広告費が月額 $50K 以上の DTC ブランドにおすすめ)
- Shopify App Store から Triple Whale をインストールします
- Triple Whale のピクセルはページが読み込まれるたびに実行され、購入前のクリック経路全体を記録します
- Triple Whale → Attribution に移動し、4 つのモデル(ファーストクリック、ラストクリック、線形、Triple Whale 独自のブレンドモデル)で収益を並べて確認します
- Integrations で広告アカウント(Meta、Google、TikTok)を接続します。接続すると、Triple Whale は各プラットフォームが報告する ROAS と、ファーストパーティデータに基づく ROAS を比較します
- Summary Dashboard を使って、チャネル別の実際の ROAS を毎日確認します
オプション C:Polar Analytics(中堅市場向け、より手頃な価格)
- Shopify App Store から Polar Analytics をインストールします
- Integrations で広告アカウントを接続します
- Polar は複数のモデルによるファーストパーティアトリビューションと、すべてのチャネルを考慮した「ブレンド ROAS」指標を提供します
WooCommerce
Metorik + GA4 を使用
- Metorik(metorik.com)をインストールし、WooCommerce ストアに接続します
- 設定後は追加のプラグインなしで、Metorik が各注文の UTM パラメーターを自動的に取得します
- Metorik で Reports → UTM に移動し、utm_source、utm_medium、utm_campaign 別の注文数と収益を確認します(ラストクリック)
- マルチタッチアトリビューションには、Metorik と Google Analytics 4 を組み合わせます。
- Site Kit by Google または MonsterInsights プラグインから GA4 をインストールします
- GA4 で Advertising → Attribution に移動し、アトリビューションモデル(ラストクリック、ファーストクリック、線形、データドリブン)を設定します
- GA4 のデータドリブンアトリビューションを有効にするには、月間 400 件以上のコンバージョンが必要です
代替案:WooCommerce Google Analytics プラグイン(無料)
- e コマースのイベントを自動的に追跡し、GA4 でラストクリックによるチャネルアトリビューションを提供します
BigCommerce
- BigCommerce で Storefront → Script Manager に移動し、アトリビューションツールのピクセルを追加します
- Rockerbox(おすすめ):スクリプトでインストールします。API 経由で BigCommerce の注文を取得し、広告のタッチポイントと照合して、ファーストパーティアトリビューションのダッシュボードを提供します
- BigCommerce の組み込み分析機能(Analytics → Marketing)では、ラストクリックセッションに基づくトラフィックソースを確認できます。ただし、上位レベルの source/medium に限られます
- より詳細に分析するには、Apps → Google にある BigCommerce 公式の GA4 統合を使って、BigCommerce を Google Analytics 4 に接続します
カスタム/ヘッドレス
ヘッドレスストアフロントでは、タッチポイントをサーバー側で取得し、注文とともに保存します。その後、データウェアハウスでアトリビューションモデルを構築します。
ステップ 1 — 訪問のたびに UTM タッチポイントを取得します:
// Client-side: capture and store UTM params in localStorage on every page load
function captureUTMTouchpoint() {
const params = new URLSearchParams(window.location.search);
if (!params.get('utm_source') && !params.get('gclid') && !params.get('fbclid')) return;
const touchpoints = JSON.parse(localStorage.getItem('utm_touchpoints') || '[]');
touchpoints.push({
source: params.get('utm_source') ?? inferSource(document.referrer),
medium: params.get('utm_medium') ?? 'organic',
campaign: params.get('utm_campaign') ?? '(none)',
touchedAt: new Date().toISOString(),
landingPage: window.location.pathname,
});
// Keep last 10 touchpoints (30-day look-back)
localStorage.setItem('utm_touchpoints', JSON.stringify(touchpoints.slice(-10)));
}
ステップ 2 — チェックアウト時にタッチポイントを注文に関連付けます:
// Send stored touchpoints with the order creation request
const touchpoints = JSON.parse(localStorage.getItem('utm_touchpoints') || '[]');
await createOrder({ ...orderData, marketingTouchpoints: touchpoints });
ステップ 3 — データウェアハウスにアトリビューションを保存してモデル化します:
Fivetran または Stitch を使って BigQuery または Snowflake にエクスポートし、dbt でアトリビューションモデルを構築します。dbt-attribution のような dbt パッケージを使用するか、注文テーブルとタッチポイントテーブルを対象に、独自のラストクリック、線形、時間減衰モデルを作成します。
ステップ 4:アトリビューションモデルを比較し、データに基づいて施策を実行する
予算の判断に役立てるため、次の比較を毎月行います。
| 比較項目 | 解釈方法 |
|---|---|
| プラットフォーム ROAS とファーストパーティ ROAS | プラットフォーム ROAS が 5 倍で、ファーストパーティ ROAS が 2 倍の場合、そのチャネルはビュースルーアトリビューションによって過大に評価されています |
| ラストクリックと線形(全接点) | 線形モデルでより高く評価されるチャネルは、ラストクリックでは別のチャネルに成果が帰属するコンバージョンを支援している可能性が高いです |
| ファーストタッチとラストタッチ | ファーストタッチでは認知度の向上を促すチャネルが、ラストタッチでは販売を成立させるチャネルがわかります |
目安: Meta がアトリビューションによる売上として 20 万ドルを申告し、Google が 18 万ドルを申告している一方で、実際の総売上が 25 万ドルだった場合、アトリビューションが大幅に重複しています。ファーストパーティツール(Triple Whale、Rockerbox)を使って重複を排除し、実態に即した全体像を把握してください。
ベストプラクティス
- 複数のモデルを必ず比較する — どのアトリビューションモデルも「正解」ではありません。比較することで、現在の設定で過大または過小に評価されているチャネルがわかります
- アトリビューションにはファーストパーティデータを使う — iOS のプライバシー変更により、サードパーティピクセルによるアトリビューションの信頼性は低下しています。現在はサーバーサイドの UTM トラッキングが不可欠です
- UTM の命名規則を厳密に統一する —
utm_source=googleとutm_source=Googleは別々のチャネルとして扱われます。小文字と統制された語彙を徹底してください - ルックバック期間を 30 日に設定する — e コマースのコンバージョンの大半は、最初のタッチから 30 日以内に発生します。標準の期間として設定してください
- アトリビューションによる総売上を実際の売上と照合する — ファーストパーティでアトリビューションされた売上の合計は、注文の総売上と一致するはずです。大きな差がある場合は、トラッキングに漏れがあります
- チャネル別 ROAS と併せてブレンド ROAS(総売上/広告費の総額)を報告する — ブレンド ROAS は操作されにくく、マーケティング全体の効率を正確に把握できます
よくある落とし穴
| 問題 | 解決策 |
|---|---|
| プラットフォームが報告する売上の合計が実際の売上を上回る | これは想定される状況です。各プラットフォームが成果の 100%を自社に帰属させるため、ファーストパーティツール(Triple Whale、Rockerbox)を使ってアトリビューションの重複を排除してください |
| 注文の 40~60%が「direct」または「none」と表示される | キャンペーンリンクに UTM パラメーターがありません。各広告プラットフォームの UTM 設定を監査し、メールのフッターやプロフィールのリンクにも UTM を追加してください |
| リダイレクトドメインによって UTM パラメーターが削除される | リダイレクト URL をテストしてください。一部の URL 短縮サービスでは UTM パラメーターが削除されます。Google の URL ビルダーを使用し、パラメーターが維持されることを確認してください |
| アトリビューションでメールの貢献度が非常に低く表示される | ラストクリックでは、顧客がダイレクト経由で再訪するため、メールはコンバージョン経路の後半に現れることがよくあります。ファーストクリックモデルを確認し、認知度向上におけるメールの役割を把握してください |
| iOS のプライバシー変更によって Meta のアトリビューション精度が低下した | Meta の Conversions API(CAPI)統合を使用してください。Klaviyo と Triple Whale はどちらも、サーバーサイドのコンバージョンイベントを Meta に送信する CAPI に対応しています |
関連スキル
- @influencer-tracking
- @affiliate-program
- @sales-reporting-dashboard
- @customer-analytics
- @ab-testing-ecommerce