データポータルで「Google Analytics流入元レポート(改訂版)」を作ってみた

Googleの「データポータル」を作って,Google Analytics(ユニバーサルアナリティクス)のデータで流入元(「チャネル」や「参照元/メディア」などのディメンション)軸のセッションやCV数とそれらの推移を確認できるレポートを作ってみました.

 

1.はじめに

もとの記事では,2020年10月にGoogle Analytics(ユニバーサルアナリティクス)のデータを使った指定した期間(デフォルトでは先月)で各チャネル等の流入元のディメンションでセッションやCV数などの値を確認・比較することが主目的のレポートを本記事で紹介しました.

それから1年ほど立ちましたが,今回はそのレポートを改訂しました.改訂しようと考えたのには,大きく2つほどの理由があります.

一つ目の理由は,レポート画面上でチャネル別流入データの他に参照元/メディア別の流入データも同時に確認できる方が良いと感じ,構成内容を変えたいと思ったからです(データポータルのレポートでは,Google Analyticsのレポートとは違って,該当するデータを確認できるものを作っておかないと不便な面があるからです).

二つ目の理由は,レポートで使っているGoogleの提供しているデモアカウントのデータが,202010月以降,参照元やチャネルが関係するデータを見ようとするとおかしい所があるからです.具体的な説明は,この記事の第7節「ユニバーサルアナリティクス用のデモデータの問題」にまとめて書きますが,簡単に言えば流入トラフィックの大半がチャネル「Direct」で参照元/メディア「(direct) / (none)」になっているからです.したがって,今回の改訂版(のサンプル表示)では,デフォルトの期間を「2020年6月1日~2020年6月30日」にしました.

上記のような理由で,紹介するレポートはアクセスすると表示される内容が2020年6月になっていますが,指定した期間(通常は先月を想定)で各チャネル等の流入元のディメンションなどでセッションやCV数などの値を確認・比較することが主目的のレポートとして作っています(コントロールボタンで期間を変更することもできます).記事「データポータルで「Google Analytics 月・曜日・日・時間軸レポート」を作ってみた」で紹介したレポートは「時」を主軸としたもので,フィルタを使うことで各チャネルなどのデータを個々には確認できますがそれらを比較はしにくいものです.したがって,この流入元レポートは「時」を主軸としたレポートを補完しあうものとも言えます.

使用するデータは,Google Analytics(ユニバーサルアナリティクス)のデモアカウント(アカウント「Demo Account」のプロパティ「Google Merchandise Store」のビュー「1 Master View」)です.デモアカウントに関しては,記事「Google Analyticsにデモアカウントを追加」を参照してください.

 

2.レポート全体の説明

まず,今回作った(改訂した)レポートは,

[閲覧用] Google Analytics 流入元レポートv2

で閲覧できます. レポートは全部で4ページあります.

すべてのページの上段には,フィルタ(コントロールボタン関連)が設置されていて,期間をデフォルト以外に変更したり,地域を絞れたり,チャネルやデバイスなどを絞れたりします(フィルタの内容はほぼ同じですが,レポートの内容によって変更箇所もあります).

上述したようにこの改訂版レポートのデフォルトの期間は202061日~2020630となっています.自社サイトなどで同様なレポートを作る場合は,改訂前のレポートのようにデフォルトの期間を先月などにすればいいと思います.

フィルタで期間などを自由に変更でき,それに連動して流入元(「チャネル」や「参照元/メディア」などのディメンション)を軸としたテーブルのデータも変化します.一方で,これらテーブルの下にあるグラフ(折れ線グラフと積み上げ縦棒グラフ)は期間のフィルタに連動していません(その他のフィルタとは連動しています).この折れ線グラフと積み上げ縦棒グラフは,レポートを表示した日に対して先月から15ヶ月前までの合計15ヶ月間の月別のデータが表示されます.15ヶ月としたのは,前年のデータと比較したいと要望があると考えたのと,四半期という区切りを考慮してプラスアルファで15ヶ月分を表示するようにしましたただし,上記の改訂版の閲覧用レポートではデフォルトの期間を20206月としたので,折れ線グラフと積み上げ棒グラフは20194月から20206月の15ヶ月間に固定しています

フィルタの「曜日」は,曜日によって(平日と土/日などによって)セッションやCV数が大きな差がある場合に,それらを分けてデータを見る場合などで活用できると考えています.フィルタの「日付」や「時間」も同様な使い方を想定しました.つまり曜日では区別しきれない祝日などをフィルタの「日付」で該当日を追加で選択(除外)するような使い方ができ,昼間と夜の差を気にしなくてはいけない状況ならフィルタの「時間」を使って該当する時間帯のみを選択してデータを見てみるという感じです.なお,曜日や時間などでのデータの違いがどの程度あるかを具体的に知るのは,記事「データポータルで「Google Analytics曜日×時間レポート(ヒートマップ付き)」を作ってみた」で紹介したレポートの役目となります.

流入元(「チャネル」や「参照元/メディア」などのディメンション)を軸としたテーブルでは,指標は集客・行動・コンバージョンに関係するものを選んでいます.1ページと2ページ目のコンバージョンは目標1を採用し,3ページと4ページ目のコンバージョンは目標2を採用しています.テーブルは目標のCV数の降順で並べていますが,テーブルの列の項目をクリックすることでその項目で降順や昇順に並び変えることができます.

プリントアウトが必要な場面は少ないかもしれませんがA3サイズに印刷することを想定して,レポートの縦と横のサイズ比はA版用紙とあわせています.

 

3.チャネル別(目標1)レポート

1ページ目(図1参照)は,チャネル(デフォルトの「Default Channel Grouping」,記事「Google Analyticsのチャネル」参照)別が軸のレポートで,コンバージョンはビュー「1 Master View」で目標1に設定されている「Purchase Completed(購入完了)」を使っています.

図1.[閲覧用] Google Analytics 流入元レポートv2の1ページ目

図1.[閲覧用] Google Analytics 流入元レポートv2の1ページ目

 

テーブルは2つあります.メインは,ディメンション「チャネル(Default Channel Grouping)」のテーブルで,その下にサブとしてディメンション「参照元/メディア」でセカンダリディメンション「チャネル」のテーブルがあります.改訂版で,このサブテーブルを追加しました(一方で,CV数シェアが確認できる円グラフは削除しました).

以前のレポートでもフィルタの「チャネル」と「参照元/メディア」を駆使すれば,各チャネルないにどんな参照元/メディアがあり,それらがどのような流入があるかを知ることはできたと思うのですが,もっと直接的に(わかりやすく)表示した方がよいと感じたので,改訂版([閲覧用] Google Analytics 流入元レポートv2)ではサブテーブルを追加しました(第1節で述べた改訂理由の一つ目の対応に該当します).その分だけ下のグラウの表示領域の縦方向が小さくなりました.

テーブルの下には,先月から15ヶ月前まで(を通常は想定していますが,上述したようにサンプルでは固定した期間)の月毎の新規セッション率が確認できる折れ線グラフ,月毎のチャネル別のセッションシェアの推移が確認できる積み上げ縦棒グラフがあります.そしてその下には,先月から15ヶ月前まで(を通常は想定していますが,上述したようにサンプルでは固定した期間)の月毎の目標1のCVR(コンバージョン率)が確認できる折れ線グラフ,月毎のチャネル別の目標1のCV数の推移が確認できる積み上げ縦棒グラフがあります.

 

4.検索チャネル(目標1)レポート

2ページ目(図2参照)は,検索チャネルのチャネル「Organic Search」と「Paid Search」に該当する流入のみを集めたデータです(そのようなフィルタとを与えて集計しています).

図2.[閲覧用] Google Analytics 流入元レポートv2の2ページ目

図2.[閲覧用] Google Analytics 流入元レポートv2の2ページ目

 

フィルタの下のテーブルはディメンション「参照元/メディア」のレポートで,コンバージョンはビュー「1 Master View」で目標1に設定されている「Purchase Completed(購入完了)」を使っています.セカンダリディメンションとして「検索サイト中分類」というものを加えています

データを見ると検索チャネルに含まれる「参照元/メディア」の種類が少ないのでこのような新たな分類「検索サイト中分類」を作る必要はないとは感じるのですが,日本のサイトだとここにけっこう種類があるので,積み上げグラフなどのためにもこれを入れました(改訂版では,CV数シェアが確認できる円グラフは削除しました).

なお「日本のサイトだと結構種類がある」に関してですが,「プロパティ設定 > トラッキング情報 > オーガニック検索ソース」の設定をちゃんとすればするほど自然検索(Organic Search)のチャネルに該当する「参照元/メディア」が増えます(記事「Google Analyticsで日本固有の検索エンジンを追加する」参照)し,有料検索(Paid Search)のチャネルにはYahoo!のリスティングなども手動タグ(記事「Google Analyticsの広告流入を計測するための手動タグ」参照)を付けることで含まれるからです.

本レポートのデモサイトはGoogleのサイトというのもあり,有料検索にはGoogle広告だけだと見えますが,データを見ると広告を積極的に出している時期とそうでない時期との差が明確にあります(図3は,2019年10月から2020年9月までのチャネル「Paid Search」のセッションの推移です).また,Google Analyticsで「集客 > すべてのトラフィック > チャネル」にてチャネル「Paid Search」において「参照元」が「google」となっていても(図4参照),セカンドディメンションに「参照元/メディア」を追加すると,「(direct) / (none)」となっているものがあることがわかります(図5参照.これは,Google AnalyticsにリンクされていないGoogle広告があるためかもしれません.記事「Google AnalyticsとAdWordsのリンクでの諸注意」参照).そこで,この「(direct) / (none)」であるものと「google / cpc」で一緒にまとめて,検索チャネル中分類で「Google(有料)」となるようにしました.

上記のような理由で,「検索チャネル中分類」でというフィールドをデータポータルのCASE関数などで新たに作りました.たいした内容ではないですが,その計算式は下記のようになっています.

CASE
WHEN 参照元/メディア IN ("google / organic") THEN "Google(自然)"
WHEN 参照元/メディア IN ("baidu / organic") THEN "Baidu(自然)"
WHEN 参照元/メディア IN ("bing / organic") THEN "Bing(自然)"
WHEN 参照元/メディア IN ("yahoo / organic") THEN "Yahoo(自然)"
WHEN 参照元/メディア IN ("google / cpc") THEN "Google(有料)"
WHEN Default Channel Grouping = "Paid Search" AND 参照元/メディア IN ("(direct) / (none)") THEN "Google(有料)"
WHEN Default Channel Grouping IN ("Paid Search") THEN "その他(有料)"
ELSE "その他(自然)"
END

 

図3.2019年10月から2020年9月までのチャネル「Paid Search」のセッションの推移

 

図4.「集客 > すべてのトラフィック > チャネル」にてチャネル「Paid Search」での参照元でのレポート

 

図5.セカンドディメンションに「参照元/メディア」を追加すると「(direct) / (none)」となっているものがあるのがわかる

 

注意:2ページ目のテーブルとグラフは同じフィルタとフィールドを使って検索の流入を集め分類して作成していますが,テーブルとグラフでセッションとCV数が異なっています(例えば,図6のように検索サイト中分類「Google(自然)」のセッションが,テーブルでは「31,139」で積み上げグラフでは「31,094」と確認できました).これは,この検索に関するグラフにサンプリングが実行されているためです(流入量が減ればサンプリングが起きないのですが,この記事のために作成した2020年6月のレポートにアクセスするとサンプリングがおきました).一方で,同様の方法で作っている,4ページ目の参照サイトの流入を集め分類しているテーブルとグラフでセッションとCV数が一致しています(こちらは,流入量が検索に比べて少ないのでサンプリングがおきていないからです).

ページ内にサンプリングでの表示がある場合,ページの下に「サンプリングを表示」というリンクが出現する(図7赤枠内参照)ので,これをクリックするとサンプリングのデータを使っているテーブルやグラフが囲まれてそれぞれの右上にサンプリングレート(この例では,「99.01%」)が表示されます(図8赤枠内参照).

図6.検索サイト中分類「Google(自然)」のセッションがテーブルでは「31,139」で積み上げグラフでは「31,094」となっている

図6.検索サイト中分類「Google(自然)」のセッションがテーブルでは「31,139」で積み上げグラフでは「31,094」となっている

 

図7.レポートにサンプリング表示がある場合の目印

図7.レポートにサンプリング表示がある場合の目印

 

図8.サンプリングレートの表示

図8.サンプリングレートの表示

 

5.チャネル別(目標2)レポート

3ページ目(図9参照)は,1ページ目と同じテーブルとグラフの構成をもつレポートですが,コンバージョンはビュー「1 Master View」で目標2に設定されている「Engaged Users(エンゲージメントユーザー)」を使っています.ビュー「1 Master View」の目標設定を確認すると,この目標2はページビュー数 / スクリーンビュー数(セッションあたり)が「10」を超えた場合のCV数とのことです.

図9.[閲覧用] Google Analytics 流入元レポートv2の3ページ目

図9.[閲覧用] Google Analytics 流入元レポートv2の3ページ目

 

6.参照チャネル(目標2)レポート

4ページ目(図10参照)は,参照チャネルとしてチャネル「Referral」と「Social」に該当する流入のみを集めたデータです.

図10.[閲覧用] Google Analytics 流入元レポートv2の4ページ目

図10.[閲覧用] Google Analytics 流入元レポートv2の4ページ目

 

フィルタの下のテーブルはディメンションが「参照元/メディア」のレポートで,コンバージョンはビュー「1 Master View」で目標2に設定されている「Engaged Users(エンゲージメントユーザー)」を使っています.セカンダリディメンションとして「参照サイト中分類」というものを加えています.

まず,目標2のCV数が多いチャネルは「Organic Search」なので検索チャネルとして集計するというのも考えられるのですが,それだと2ページ目と変化が少ないので参照チャネルに変えてみました.各テーブルやグラフの指標は2ページ目と同じです.

チャネル「Referral」と「Social」に含まれる「参照元/メディア」の種類は多いので,それこそ「参照チャネル中分類」というように主要なものとその他である程度の数になるように分類しないと,下のグラフが繁雑になりすぎると感じます.

新たに作ったフィード「参照チャネル中分類」の計算式は下記のようになっています.

CASE 
WHEN Default Channel Grouping = "Social" AND REGEXP_MATCH(参照元, ".*youtube\\.com") THEN "Youtube(ソシャ)"
WHEN Default Channel Grouping = "Social" AND REGEXP_MATCH(参照元, ".*facebook\\.com") THEN "Facebook(ソシャ)"
WHEN Default Channel Grouping = "Social" AND REGEXP_MATCH(参照元, "t\\.co") THEN "Twitter(ソシャ)"
WHEN Default Channel Grouping = "Social" THEN "その他(ソシャ)"
WHEN 参照元 = "mall.googleplex.com" THEN "モールgoogleplex(リファ)"
WHEN 参照元 = "analytics.google.com" THEN "アナリティクスgoogle(リファ)"
WHEN 参照元 = "mail.google.com" THEN "メイルgoogle(リファ)"
WHEN REGEXP_MATCH(参照元, ".*google\\.com") THEN "その他google(リファ)"
WHEN Default Channel Grouping = "Referral" THEN "その他(リファ)"
ELSE "その他"
END

 

チャネル「Social」に該当するものは「(ソシャ)」,チャネル「Referral」に該当するものは「(リファ)」と目印をつけています.YoutubeやFacebookなどは該当する「参照元/メディア」が複数あるのでREGEXP_MATCH関数を使って判定しています.

 

7.ユニバーサルアナリティクス用のデモデータの問題

第1節「はじめに」で書きましたが,Googleの提供しているユニバーサルアナリティクスのデモアカウントは,2020年10月以降において流入トラフィックの大半がチャネル「Direct」で参照元/メディア「(direct) / (none)」になっているのです(とくに2021年3月以降はほとんどの流入がチャネル「Direct」です).図11はデータポータルの積み上げグラフの集計ですが,GAの集客レポートなどでも実際に確認できると思います.

図11.2020年7月以降のユニバーサルアナリティクスのデモアカウントの流入トラフィック

図11.2020年7月以降のユニバーサルアナリティクスのデモアカウントの流入トラフィックの変化

 

これは実際のトラフィックがチャネル「Direct」に変化したのではなく,Googleが意図的にそのような計測になるように操作・設定したと考えています(例えば,チャネル「Organic Search」や「Referral」に該当するトラフィックをすべてチャネル「Direct」になるように操作・設定していると思われます).

Googleの提供しているデモアカウントは,「Google Merchandise Store」というサイトのデータです.そのサイトのURLは,設定を確認すると(図12参照),「https://shop.googlemerchandisestore.com」であるとわかります.

図12.ユニバーサルアナリティクスのデモアカウントのプロパティ設定の内容

図12.ユニバーサルアナリティクスのデモアカウントのプロパティ設定の内容

 

さて,Googleは2020年10月にGoogle Analytics4(GA4)という次世代のGoogle Analyticsを(正式に)リリースして,現在はこちらがデフォルトの扱いです(GAを新しく導入しようとすると,このGA4を導入するような仕様となっています).GA4はこれまでのGoogle Analytics(ユニバーサルアナリティクス)とは全くの別サービスで,ユニバーサルアナリティクスのデータを引き継ぐなどはできません.GA4がどのようなものかの詳しい説明は他のサイトに任せますが,GoogleはGA4のデモアカウントも提供しています.そのGA4のデモアカウントのひとつであるプロアパティ名「GA4 – Google Merchandise Store」が,ユニバーサルアナリティクスのデモアカウントと同じ「Google Merchandise Store」というサイトのデータです.このプロパティのウェブストリームの詳細でURLを確認すると同じことがわかります(図13参照).

図13.GA4のデモアカウントのプロアパティ名「GA4 - Google Merchandise Store」のウェブストリームの詳細

図13.GA4のデモアカウントのプロアパティ名「GA4 – Google Merchandise Store」のウェブストリームの詳細

 

このGA4のデモアカウントの2020年9月の集客のレポートをみると,図14のように「organic」や「referral」と判定される流入,図15のように参照元/メディアが「google / organic」という自然検索やメディアが「referral」という流入があることが確認できます.

"図14,デモアカウント・GA4の「レポート

 

"図15.デモアカウント・GA4の「レポート

 

一方で,同じサイトを計測しているユニバーサルアナリティクスのデモアカウントの集客のレポートを確認すると,図16や図17のように,チャネル「Organic」や「Referral」のセッションはゼロ,参照元/メディアに自然検索やリファラーに該当するものもないと確認できます(GA4のデモアカウントで計測されていた参照元/メディアで存在していないものがあると確認できます).

"図16.デモアカウント・ユニバーサルアナリティクスの「集客

 

"図17.デモアカウント・ユニバーサルアナリティクスの「集客

 

ユニバーサルアナリティクスとGA4では計測方法が変わり,チャネルの判定基準も違っています.したがって,ユニバーサルアナリティクスとGA4は単純にデータを比べられないのですが,「参照元/メディア」の情報(扱い)は同じはずです.同じサイトの計測なのにGA4で計測されている「参照元/メディア」の流入が,ユニバーサルアナリティクスではまったく計測されないというおかしな現象になっています.

時期的にもGA4が正式リリースされた後から,ユニバーサルアナリティクスのデモアカウントのデータがおかしくなったと推測します.

Googleがなぜこのようなことをしたのかわかりませんが,ともかく202010月以降のユニバーサルアナリティクスのデモアカウントのデータにはかなり問題があり,注意する必要があると思います.

 

8.おわりに

データポータルで1ページに配置できるデータ(テーブル,グラフなど)の上限が意外と厳しいと,流入レポートを作るときに感じました.そのような制限をふまえてどのようなレポートを作るかを考えるのがポイントな気がします(デザインよりも実用性を重要視した使い方が多そうですが).

今回のレポートは,Google Analyticsのオリジナルのデータソースを使った新たな値(フィールド)を活用しましたが,そこで用いたCASE関数やREGEXP_MATCH関数は下記にデータポータルの公式ヘルプがあります.

CASE:https://support.google.com/datastudio/answer/7020724?hl=ja&ref_topic=7019024

REGEXP_MATCH:https://support.google.com/datastudio/answer/7064476?hl=ja&ref_topic=7041728

その他の関数は下記に公式ヘルプがあります.

関数のリファレンス:https://support.google.com/datastudio/topic/7019880?hl=ja&ref_topic=7570421

公式以外では,下記の記事が参考になると思います.

Googleデータポータルでよく使う関数まとめ【コピペ利用可】

データポータルの CASE 文で Google アナリティクスの URL 系ディメンションを分類したレポート

 

最後に改訂するまえのレポートのリンクを掲載しておきます.第7節で述べたように2020年10月以降のデモアカウントのデータに問題があるので,デフォルトで期間を先月にしているこのレポートでは,その内容が流入レポートしてはあまり機能していないように見える内容として表示されると思います.

[閲覧用] Google Analytics 流入元レポートv1(2020年10月作成版)