Content Analyticsの行動ログを外部システム(CRM・MAツール)に取り込み、高度な分析を行う(外部連携機能)

1. 外部連携機能とは?
2. 連携データの種類
3. データエクスポート処理の仕様
 a. エクスポートファイル共通仕様
 b. 各エクスポートファイルの項目
 c. GoogleCloudStorageのディレクトリ構成
4. 補足事項
 a. 更新データの取り込みについて
 b. 分析者のためのタグイベント事前データ加工

1. 外部連携機能とは?

Content Analyticsで取得している各ユーザーのコンテンツ単位のタグイベントデータをCDPやMAツール等に取り込み、貴社保有の属性情報と組み合わせていただくことにより、今までにない高度な分析(性別・年代別の貢献度が高いコンテンツ分析)やより精度の高い施策の実行が可能となります。

組織毎の専用ストレージにイベントデータなどを毎日自動出力できるため、ぜひインポートしてご活用ください。

具体的には、下記のようなことが可能になります。

2. 連携データの種類

Content Analyticsでは、3種類のイベントデータとコンテンツレポートから登録したコンテンツマスタ・コンテンツタグ情報を連携します。

3. データエクスポート処理の仕様

データエクスポートはサービスアカウント作成の翌日から開始されます。
AM2:00〜AM6:00の間で処理するため、AM6:00以降にダウンロードを開始してください。
各エクスポートファイルの項目は、こちら(各エクスポートファイルの項目)を参照ください。

※1 レポート対象期間とは、ContentAnalyticsのページレポート・コンテンツレポート閲覧可能な期間のこと。
契約プラン別に期間が異なります。詳細は CA紹介ページ を参照ください。

a. エクスポートファイル共通仕様

ファイル形式CSV
区切り文字カンマ
囲み文字ダブルクォート ※文字列にカンマ・ダブルクォート・改行などがあり、必要な場合のみ付与される
文字コードUTF-8
改行コードLF
ヘッダー有無あり(1行目)
エスケープ文字文字にダブルクォートがある場合、ダブルクォートでエスケープする
  • 今後ファイルに項目が追加される場合は、最終列の後ろに追加されるため、BigQueryのCSVインポートオプションでいうと、以下のオプションの設定を推奨します。
    • allowJaggedRows=true : 過去に出力されたエクスポートファイルが、取り込み先のスキーマとアンマッチでも取り込みエラーを防ぐため
    • ignoreUnknownValues=true : エクスポートファイルに新規項目が追加され、取り込み先のスキーマが新規項目未対応でも取り込みエラーを防ぐため
  • 基本的にはないが、ページタイトルなどに改行を含めることもできるので、BigQueryのCSVインポートオプションでいうと、以下のオプションの設定を推奨します。
    • allowQuotedNewlines=true : ページタイトルなどのSTRING項目に改行が含まれていても取り込みエラーを防ぐため

BigQueryのCSVインポートオプションの詳細については、Google Cloudのヘルプページをご確認ください。

b. 各エクスポートファイルの項目

▼ファイル名:tagdata_*.csv.gz

フィールド名
(論理名)
データ型説明
event_id
(タグイベントID)
string・レコードごとに割り当てた32文字のランダムな英数字(UUIDv4で算出)
※エクスポートデータに更新データを含む場合、更新の結合キーとしてご活用ください
timestamp
(イベント発火日時)
datetime (ISO8601)・タグでイベントが発火した日時 ・形式: YYYY-MM-DDThh:mm:ssZ(ISO8601準拠、タイムゾーンはUTC)
project_id
(プロジェクトID)
integer・プロジェクトを識別するID
session_id
(セッションID)
string・セッションを識別するID ・セッション内の各ページビューを紐づける際に使用 ・Cookieに値を保持している(有効期間: 30分) ・32文字のランダムな英数字(UUIDv4で算出)
view_id
(ページビューID)
string・ページビューを識別するID ・ページビュー(page_view)のデータと各イベントデータ(content_view・custom_event)を紐づける際に使用 ・32文字のランダムな英数字(UUIDv4で算出)
client_id
(クライアントID)
string・エンドユーザの訪問を識別するID ・Cookieに値を保持している(有効期間: 2年) ・32文字のランダムな英数字(UUIDv4で算出)
user_id
(ユーザーID)
string・ユーザを識別するID ・デバイス・ブラウザをまたいだユーザの行動を計測できるようになり、分析精度が向上します。 ・スコープ「ユーザー」の概念で値をセットするため、レコードが複数日に渡って更新データとして連携される可能性あり 例)セッション後半のページビューでユーザーIDがセットされた場合、前半のページビューにも遡って値をセットする
normalized_url
(URL(正規化済))
string・計測対象ページのURL。集計の精度を高めるために以下の仕様でURLを加工 1. 末尾スラッシュを削除 2. ContentAnalyticsで許可したパラメータのみ付与(パラメータ名の昇順で並び替え) ※ContentAnalyticsのコンテンツレポートなどに表示しているURLはこちらの値
original_url
(URL(オリジナル))
string・計測対象ページのURL(未加工)
title
(タイトル)
string・計測対象ページのタイトル
device
(デバイス)
string・訪問時のデバイスを識別する値。値の種類は以下の通り。 1. mobile: モバイル 2. pc: PC
event_type
(イベントタイプ)
string・イベントの種類を識別する値。値の種類は以下の通り。 1. page_view: ページビューイベント 2. content_event: コンテンツイベント 3. custom_event: カスタムイベント
content_id
(コンテンツID)
string・コンテンツを識別するID(コンテンツレポートでコンテンツごとに表示されているID) ・10文字のランダムな英数字 ・閲覧もクリックもされていないコンテンツはレコードが存在しない。
second
(閲覧秒数)
integer・コンテンツの閲覧秒数 ・ページビュー単位の集計レコードのため、レコードが複数日に渡って更新データとして連携される可能性あり 例)6/1の連携では「30」、6/2の連携では「60」など。(更新データは複数回に渡って連携される)
clicks_count
(クリック数)
integer・コンテンツのクリック数 ・ページビュー単位の集計レコードのため、レコードが複数日に渡って更新データとして連携される可能性あり 例)6/1の連携では「1」、6/2の連携では「2」など。(更新データは複数回に渡って連携される)
dimension1
(カスタムディメンション1)
string・タグにセットしたカスタムディメンションの値 ・スコープ"ユーザー"の場合は、content_view、custom_eventにも値をセット (ユーザーIDがセットされる可能性があるため、user_idと同じ粒度で値をセットする) ・スコープ「セッション」または「ユーザー」の場合は、レコードが複数日に渡って更新データとして連携される可能性あり 例)セッション後半のページビューでカスタムディメンションがセットされた場合、前半のページビューにも遡って値をセットする
dimension2
(カスタムディメンション2)
string同上
dimension3
(カスタムディメンション3)
string同上
dimension4
(カスタムディメンション4)
string同上
dimension5
(カスタムディメンション5)
string同上
dimension6
(カスタムディメンション6)
string同上
dimension7
(カスタムディメンション7)
string同上
dimension8
(カスタムディメンション8)
string同上
dimension9
(カスタムディメンション9)
string同上
dimension11
(カスタムディメンション11)
string同上
dimension12
(カスタムディメンション12)
string同上
dimension13
(カスタムディメンション13)
string同上
dimension14
(カスタムディメンション14)
string同上
dimension15
(カスタムディメンション15)
string同上
dimension16
(カスタムディメンション16)
string同上
dimension17
(カスタムディメンション17)
string同上
dimension18
(カスタムディメンション18)
string同上
dimension19
(カスタムディメンション19)
string同上
dimension20
(カスタムディメンション20)
string同上
event_category
(イベントカテゴリ)
string・任意のタイミングでカスタムイベントとして発火されたカテゴリ
event_action
(イベントアクション)
string・任意のタイミングでカスタムイベントとして発火されたアクション
event_label
(イベントラベル)
string・任意のタイミングでカスタムイベントとして発火されたラベル
event_value
(イベント値)
number・任意のタイミングでカスタムイベントとして発火された値
created_at
(レコード登録日時)
datetime (ISO8601)・エクスポート用テーブルにレコード登録された日時 ・形式: YYYY-MM-DDThh:mm:ssZ(ISO8601準拠、タイムゾーンはUTC)
updated_at
(レコード更新日時)
datetime (ISO8601)・エクスポート用テーブルにレコード更新された日時 ・形式: YYYY-MM-DDThh:mm:ssZ(ISO8601準拠、タイムゾーンはUTC)
ssc_id
(サーバサイドCookieID)
string・エンドユーザの訪問を識別するID ・Cookieに値を保持している(有効期間: 2年) ・32文字のランダムな英数字(UUIDv4で算出)

▼ファイル名:contents_*.csv.gz

フィールド名 (論理名)データ型説明
content_id
(コンテンツID)
string・コンテンツを識別するID(コンテンツレポートでコンテンツごとに表示されているID)
・10文字のランダムな英数字
project_id
(プロジェクトID)
integer・プロジェクトを識別するID
url
(ページURL)
string・コンテンツのURL
name
(コンテンツ名)
string・コンテンツの名称
created_at
(レコード登録日時)
datetime (ISO8601)・レコード登録された日時
・形式: YYYY-MM-DDThh:mm:ssZ(ISO8601準拠、タイムゾーンはUTC)
updated_at
(レコード更新日時)
datetime (ISO8601)・レコード更新された日時
・形式: YYYY-MM-DDThh:mm:ssZ(ISO8601準拠、タイムゾーンはUTC)

▼ファイル名:content_tags_*.csv.gz

フィールド名
(論理名)
データ型説明
content_id
(コンテンツID)
string・コンテンツを識別するID(コンテンツレポートでコンテンツごとに表示されているID)
・10文字のランダムな英数字
project_id
(プロジェクトID)
integer・プロジェクトを識別するID
name
(タグ名)
string・コンテンツタグの名称

c. GoogleCloudStorageのディレクトリ構成

4. 補足事項

  • データエクスポート用のサービスアカウントを作成すると、専用のデータ連携バケットをGCS内に作成します(他サービスアカウントからアクセス不可)。そのため、サービスアカウント削除→新規作成をすると、これまで出力されたファイルにはアクセスできなくなり、新たに初回連携分のデータをエクスポートします(初回はレポート対象期間分のデータをまとめて出力)。
  • セッション内の途中でユーザID、またはスコープ ”セッション” or ”ユーザー” のカスタムディメンションがセットされた場合、既に連携済みのデータがレコード更新対象となるケースがあります(詳細は「補足事項:a.更新データの取り込みについて」を参照)。
  • 連携するタグイベントデータファイルは、データ量を削減するため、コンテンツイベント、カスタムイベントにページ単位で収集する情報を保持していません。分析時の利便性を考え、事前にデータ加工を推奨します。(詳細は「補足事項:b.分析者のためのタグイベント事前データ加工」)

a. 更新データの取り込みについて

ユーザID、またはスコープ”セッション”or”ユーザ”のカスタムディメンションがセットされると、同一セッション内の過去イベントデータ値も更新されます。そのため、tagdataのレコードを特定可能なevent_id項目(uuid形式)をキーにMERGE/UPSERTステートメントなどを使ってインポートしてください(新規データは追加、既存データは更新)。
※以下にエクスポートをまたがったユーザの行動でユーザIDとカスタムディメンションがセットされた例を提示します。

b. 分析者のためのタグイベント事前データ加工

タグイベントデータは、3種類のイベントを1つのデータセットとして連携します。また、コンテンツイベント、カスタムイベントはデータ連携時のデータ量を削減するため、ページ単位で収集する情報を保持していません。一旦CDPなどにtagdataを取り込んだ後、分析時の利便性を考え事前に以下のデータ加工を推奨します。

  1. イベント単位のテーブルに分割(event_typeにより分割)
  2. コンテンツイベント、カスタムイベントのレコードにページ単位の情報を付与(project_id, session_id, view_idにより結合)

TOP