Google AnalyticsのCost Data Uploadで広告費と成果を同じレポートで比べる
公開日: 執筆:佐藤
Google AnalyticsのCost Data Uploadは、Google以外の有料キャンペーンから広告費、クリック数、表示回数を取り込み、サイトで計測した訪問、目標、売上と比べる機能です。広告サービスごとの管理画面を見比べる代わりに、Google AnalyticsのCost Analysisレポートで、配信元ごとの費用対効果を同じ指標で確認できます。
ただし、費用のCSVファイルを送るだけでは、広告と訪問は結び付きません。広告のリンク先URLとCSVで、source、medium、campaignなどの値を一致させる必要があります。先に命名を決め、次に費用を取り込む順序が重要です。
Cost Data Uploadは費用を加える機能で成果を作る機能ではない
Cost Data ImportのGoogle Analytics公式発表は、検索広告、ディスプレイ広告、アフィリエイト、メール、ソーシャルなど、Google以外の配信元から費用を取り込めると案内しています。取り込んだデータは、Traffic Sources内のCost AnalysisレポートやAttribution Modeling Toolで確認できます。
Cost Data Uploadが追加するのは、外部の広告サービスが持つ費用、クリック数、表示回数です。問い合わせ完了や購入などの成果は、Google Analyticsの目標またはeコマースで別に計測します。
| データ | 取得元 | 先に必要な作業 |
|---|---|---|
| 費用、広告クリック、表示回数 | 広告サービスから出力したデータ | CSVの整形とAPIによる送信 |
| 訪問、直帰、閲覧ページ | Google Analyticsの計測コード | サイト全体での計測確認 |
| 問い合わせ完了、購入、売上 | 目標またはeコマース | 完了条件と金額の設定 |
広告費だけを取り込んでも、成果を計測していなければ費用対効果は判断できません。反対に、目標数だけを見ても、費用の異なる広告を同じ条件では比べられません。費用と成果は、別の場所で発生するデータを一つのレポートで照合します。
広告のURLとCSVは同じ名前で結ぶ
有料キャンペーンの計測に関する公式ガイドは、Google以外の広告のリンク先URLへキャンペーンパラメータを付け、Google Analyticsの訪問データと外部の費用データを結ぶ手順を示しています。
たとえば、広告のリンク先URLへ次の値を付けます。
utm_source=ad-network
utm_medium=cpc
utm_campaign=summer-sale
utm_term=service-name
CSVのga:sourceにはad-network、ga:mediumにはcpc、ga:campaignにはsummer-saleを入れます。広告側ではsummer-sale、CSVではsummer_saleと書けば、同じキャンペーンとして結び付きません。
命名は、アップロード担当者だけで決めません。広告URLを作る人、広告サービスからデータを出す人、Google Analyticsを見る人が、同じ対応表を使います。外部へ作業を頼む場合も、source、medium、campaignの正式な値は事業者側で保管します。
CSVには必要な列だけを正確にそろえる
Cost Data Uploadの公式リファレンスは、CSVの必須ディメンションをga:sourceとga:mediumとしています。指標はga:adCost、ga:adClicks、ga:impressionsのうち、少なくとも一つが必要です。ga:campaign、ga:keyword、ga:adContentは、広告の分け方に応じて追加します。
| CSVの列 | 内容 | 確認すること |
|---|---|---|
ga:source |
配信元 | utm_sourceと同じ値か |
ga:medium |
メディア | utm_mediumと同じ値か |
ga:campaign |
キャンペーン名 | utm_campaignと同じ値か |
ga:keyword |
キーワード | 必要な粒度で出力できるか |
ga:adCost |
広告費 | 数値と通貨の扱いが正しいか |
ga:adClicks |
広告クリック数 | 同じ日、同じ分類の集計か |
ga:impressions |
表示回数 | 同じ日、同じ分類の集計か |
CSVはUTF-8で作り、先頭行を列名にします。広告サービスの出力列を、そのまま送れるとは限りません。列名をGoogle Analytics用へ変え、欠けた必須値を補い、キャンペーンパラメータと一致するかを確認します。
すべての広告サービスを一つのCSVへ詰め込むより、まず一つの配信元、一つの期間で試す方が安全です。公式リファレンスも、関係のない外部データを一つのCustom Data Sourceへ混ぜると、同じ値が競合する可能性を示しています。
Custom Data Sourceを作りAPIで日別データを送る
アップロードの前に、対象のウェブプロパティでCustom Data Sourceを作ります。名前と説明を付け、費用データを表示するプロフィールを関連付けます。作成後に発行されるCustom Data Source IDは、API送信に必要です。
次に、Management APIのDaily Uploadを使い、次の情報とCSVを送ります。
- Google AnalyticsのアカウントID
- ウェブプロパティID
- Custom Data Source ID
- 対象日
- Cost Data Uploadであることを示す種類
- 整形したCSVファイル
アップロードしたデータがレポートへ反映されるまで、最大12時間かかる場合があります。送信直後に数字が見えなくても、同じファイルを繰り返し送る前に、APIの応答とDaily Uploadの状態を確認します。追加送信と置き換えでは結果が違うため、再実行の条件も先に決めます。
Cost Analysisでは金額より先に結合結果を確かめる
初回の確認では、費用対効果の優劣を決める前に、データが正しく結び付いたかを見ます。
仮に、ある広告ネットワークからservice-aキャンペーンの費用を取り込むとします。Cost Analysisで同じsource、medium、campaignに訪問数と費用が並べば、結合の入口は確認できます。訪問があるのに費用が空欄なら、URLとCSVの値、対象日、関連付けたプロフィールを調べます。費用だけがあり訪問がなければ、広告URLのタグ、計測コード、リンク先ページを調べます。
結合を確認した後で、クリック単価、訪問の質、目標達成、売上を比べます。広告サービスごとに「クリック」や「コンバージョン」の定義が違う場合は、Google Analytics側で共通に計測した目標を比較の軸にします。
自動化する前に一回分を再現できるようにする
Cost Data UploadはAPIを使うため、定期実行へ進みやすい機能です。しかし、最初から複数サービスの毎日送信を作ると、値が合わないときに原因を分けにくくなります。
まず、一つの配信元について、一日分の元データ、変換後のCSV、APIの応答、Cost Analysisの表示を残します。次に、同じ手順を別の日でも再現できるかを確認します。その後で、取得、変換、送信を自動化します。
制作会社や解析担当者へAPI実装を依頼しても、Google Analyticsのアカウント、ウェブプロパティ、Custom Data Source、元の費用データは事業者側で確認できる状態にします。自動送信の仕組みより、元データからレポートまでを追えることが、運用を続ける条件です。
関連記事

