本記事で触れているGoogleアナリティクスは、ユニバーサルアナリティクス(UA)を前提としています。
GA4を対象とした記事ではございませんので、ご注意ください。
Googleアナリティクスのデータを分析する際にTableauは強力な助っ人となるツールですが、一方で、Tableauならではのくせや、Googleアナリティクスのデータの定義に関する知識が必要となる場面も出てくるため、特に学び始めの際には戸惑ってしまうことも多いかと思います。
前回、こちらの記事で弊社の木田がTableauにGoogleアナリティクスデータを取り込む際の留意点についてご紹介しましたが、今回は、データを取り込んだ後の次のステップとなる「ディメンションとメジャーの整形」についてご紹介したいと思います。
メジャーの整形
「直帰率」や「コンバージョン率」といった割合を表す指標は、Googleアナリティクスから分母と分子に当たる指標を取得して「分子÷分母」といった計算式を作成する必要があります。「直帰率」であれば、以下のような計算式となります。
また、「平均セッション時間」や「平均読み込み時間」などは分・秒を適切な単位に調整します。数値形式も併せて整えておきましょう。
スコープ | GA上の指標名 | Tableau上のメジャー計算式 | 備考 |
---|---|---|---|
セッション | 新規セッション率 | SUM([新規ユーザー])/SUM([セッション]) | 数値形式は「パーセンテージ」に。 |
直帰率 | SUM([直帰数])/SUM([セッション]) | 数値形式は「パーセンテージ」に。 | |
ページ/セッション | SUM([ページビュー数])/SUM([セッション]) | 数値形式は「数値(カスタム)」で小数点を調整。 | |
平均セッション時間 | SUM([セッションの滞在時間])/SUM([セッション])/60 | 「秒」を「分」単位に。数値形式は「数値(カスタム)」で小数点を調整。 | |
eコマースのコンバージョン率 | SUM([トランザクション数])/SUM([セッション]) | 数値形式は「パーセンテージ」に。 | |
目標Xのコンバージョン率 | SUM([目標X 完了])/SUM([セッション]) | 数値形式は「パーセンテージ」に。 | |
ヒット | 平均ページ滞在時間 | sum([ページ滞在時間])/(sum([ページビュー数])-SUM([離脱数]))/60 | GAでは前後のページ遷移の時間差で滞在時間を取っているため、分母から離脱を引くのがポイント。 |
離脱率 | SUM([離脱数])/SUM([ページビュー数]) | 数値形式は「パーセンテージ」に。 | |
平均読み込み時間(秒) | (SUM([ページ読み込み時間 (ミリ秒)])/SUM([ページ読み込みサンプル]))/1000 | 「ミリ秒」を「秒」単位に。分母は「ページ読み込みサンプル」です。 |
ディメンションの整形
続いて、ディメンションの整形についてご紹介したいと思います。
1.ディメンションのグルーピング
最もよく行うのがディメンションのグルーピングです。例えば、ランディングページや流入元などは、最初から個々のページや流入元を細かく見るのではなく、まずはグルーピングしておおまかな傾向をつかみます。
Googleアナリティクス側で「コンテンツグループ」の設定を行っている場合は、「ページグループ」、「ランディングページグループ」といったディメンションを取得して使用するのでも良いかと思います。
一方で、流入元については、Googleアナリティクスの「カスタムチャネルグループ」はGoogleアナリティクスのAPI側でサポートされていないため、Tableauに取り込みできません。ですので「参照元/メディア」、「キャンペーン」等を取得し、Tableau側でグルーピングをしていきます。
Tableauでディメンションをグルーピングする方法は手動のグルーピングも含めていくつかありますが、一定のルールに基づきグルーピングをする計算式を作っておくと、後から新しいデータが追加された際も自動でグルーピングしてくれるので便利です。
IF
contains([ランディング ページ],"●") = true then "▲"
elseif contains([ランディング ページ],"●") = true then "▲"
elseif contains([ランディング ページ],"●") = true then "▲"
else "その他"
END
上記の計算式は、「[ランディング ページ]に”●”が含まれる場合”▲”を割り当てる」というルールの計算式になります。上段からマッチした順に値が割り当てられていき、複数の値の割り当ては不可のため、上段下段両方の条件にマッチした場合は、上段のみが採用されますので留意しましょう。
IF
(REGEXP_MATCH([ランディング ページ],"●")) then "▲"
ELSE "その他"
END
上記の計算式は、同様に、「[ランディング ページ]に”●”が含まれる場合”▲”を割り当てる」というルールの計算式になりますが、「●」は正規表現が使用できます。複数値を指定したいときには”A|B|C”、前方一致であれば”^A”といった細かい指定が可能です。
※正規表現のルールについてはGoogle公式ページをご参考ください。
https://support.google.com/analytics/answer/1034324?hl=ja
2.ディメンションの分割
Tableauでは、接続するGoogleアナリティクスAPIの仕様で、ディメンションは7つまでしか取り込めません。ですので、少しでもディメンション枠を節約したいというときは、流入元のディメンション、「参照元」と「メディア」は個々のディメンションとして取得するのではなく、「参照元/メディア」の統合されたディメンションをTableauに取り込んで、後から計算式を使って「参照元」と「メディア」に分割します。
分割すると以下の計算式のディメンションが生成されます。この計算式にある数字の部分が「1」なら前方の「参照元」、「2」なら後方の「メディア」が抽出されます。
3.不要な要素の削除
次にディメンションの不要な要素の削除についてご紹介します。
「ランディングページ」や「ページ」にパラメーターが使用されている場合、パラメーターを削除して1つのページに集約したいときに、以下の計算式を使用し不要な要素の削除を行います。
IF contains([ランディング ページ],"?")=TRUE
then left([ランディング ページ],FIND([ランディング ページ],"?")-1)
else[ランディング ページ]
END
また、Googleアナリティクスの「地域」のディメンションを使ってTableauでマップのビジュアライズをしたいときには、Googleアナリティクスの「地域」データ上では「愛知県」は「Aichi Prefecture」となっていますが、この「Prefecture」を全て削除する必要があります。Tableauが持っている地理データでは「Aichi」となっているためそのままだとマッチせず、Tableau上で「愛知県」と認識してくれないからです。
if REGEXP_MATCH([地域],"Hokkaido|Tokyo")then[地域]
elseif CONTAINS([地域],"Prefecture")then trim(replace([地域],"Prefecture",""))
END
上記で作成したディメンションに、Tableau上の地理的役割「都道府県」を付与して整形完了です。マップ機能で日本国内のデータがビジュアライズできるようになりました。
最後に
データを取り込んで、ディメンションとメジャーの整形が終わったら、Googleアナリティクスのレポートとデータの突合を行いましょう。データソースの組み合わせや、整形のミスで誤ったデータが取り出されてしまっては元も子もありません。
これらの作業は手間のように感じますが、それ以上に分析においてTableauの恩恵は大きいですし、取扱いに慣れてしまえば大した手間ではありません。
デジタルマーケティング戦略、Web解析、SEO、リスティング広告、Facebook広告、Linkedin広告、Tableauでのデータビジュアライズなど、弊社でお役に立てそうなことがございましたら、お気軽にご相談ください。ご相談は無料で承っております。
ご興味のある方はこちらよりお気軽にお問い合わせください。
プリンシプルでは業界最高レベルの専門家として一緒にご活躍いただける方を募集しています。詳しくは弊社採用ページをご覧ください。