見出し画像

この集計処理しているの、どーこだ?問題

こんにちは。
この記事はWEBやデータ分析に関する投稿をみんなでしてみようというアドベントカレンダーの12/9担当記事でございます。

普段はGAラボというブログでGoogleアナリティクスやデータポータル、Search Console、BigQueryなどなどの解析に関する記事を書いています。
事業会社でアクセス解析やSEOなどのお仕事をメインにしていますが、いろんな方と交流ができると嬉しいです。

気が向いた方はブログを読んだりTwitterで質問したり、お気軽にお声掛けくださいませ!

本日のテーマ

タグ、ツール、ダッシュボードのどこで集計処理されているデータなのか、管理されているのかがゴチャゴチャしてきたぞ

「レポートやダッシュボードなど、数字を扱うもの」を複数人にシェア・運用するときに注意しなきゃな~と思ってることをつらつらと書いてゆきます。

今回はご紹介したい事例を幾つかご用意しましたので、
具体例どんどん書いちゃいますね!

スプレッドシートの例

こんな感じのレポートをメンテナンスする場合、概要・仕様を説明するドキュメントなどがセットで存在すれば解読できますが、もし無いと「このデータはどうやって作られているのか」を理解するのが大変になっちゃいますね。

Googleアナリティクス(UA)の例

従来のGoogleアナリティクス(ユニバーサルアナリティクス、以下UA)の例も見てみましょう。

とても便利な機能「コンテンツグループ」というものをご存知でしょうか?
これを使うと、

こんな感じで、任意のルールセットに基づいてページをグループ化してくれます。「ページ」「ランディングページ」ディメンションの分析をする際に非常に便利なので、個人的にはイチオシの機能です。

では、どうやって設定するかといえば大きく分けて2つ方法があります。

方法その1:GA管理画面でルールを定義する

GA管理画面で「このページ(URL)のパターンはグループA」といったルールを定義・保存することでコンテンツグループが使えるようになります。

GAはざっくりイメージしてもらうと

こんな感じで動いてるツールなので、管理画面で設定する方法はサーバーにデータが届いて集計処理されるタイミングで各ページをふるい分けてね、というやり方です。

方法その2:タグ側でルールを定義する

例えばGTMを使ってGAの計測をしている場合、
GTM管理画面で「タグ・トリガー・変数」を作る=どのような処理をさせるか定義するわけですね。

キャプチャはGAのトラッキングIDに関する変数ですが、このGAでは計測する際に「コンテンツグループ1番はサイトセクション変数の値をセットして計測してね」と設定されています。

このやり方は
タグ側で処理が発生する点や、
ルールセットの定義がGAではなくGTM側に集約されている点が
方法1とは異なります。

コンテンツグループ1番のメンテナンスをする際は、GTMの権限をもらってGTM管理画面で作業する必要があるので、やることは同じでもプロセスや使い勝手、影響範囲はだいぶ違いますね。

データポータルの例

最後に、みんな大好きBIツールの例も一つ。
Googleデータポータルというツールでは、GAでいう「ディメンション」「指標」のようなデータを「フィールド」という状態で活用することができます。

そのようなフィールドをSUMやCASEなどの関数で処理し、独自のフィールドを作成する機能を活用する際にも、「これなんだっけ」となるケースがあるのでご紹介します。

※気になる方は過去記事を御覧ください。

意外と知られていない、「並べ替え」

データポータルで「並べ替え」の設定にCASE関数を利用したカスタムフィールドを適用している例
元データはD列「時刻(時間:分)」

データポータルで利用するフィールドは様々なタイプがあります。ここでは詳細にはお話できませんが「テキスト」「数値」「日付」などのタイプが各フィールドに定義されていると思ってもらえれば大丈夫です。

さて、このスプレッドシートD列を昇順、降順で並べ替えようとしても「テキスト」タイプのフィールドになってしまい、思ったように表示できませんでした。

タイプを「日付」「時刻」に変えようにも、YYYYMMDD HH:MM:SS形式でもないので、簡単にはできませんでした。

んじゃあ作るかー、ということでこんな関数を一つ作ってみました。

CAST(REGEXP_REPLACE(時刻(時間:分),":\d+","") AS NUMBER)+
IF(CAST(REGEXP_REPLACE(時刻(時間:分),"^\d+:","") AS NUMBER) = 0,0,
IF(CAST(REGEXP_REPLACE(時刻(時間:分),"^\d+:","") AS NUMBER) = 15,0.1,
IF(CAST(REGEXP_REPLACE(時刻(時間:分),"^\d+:","") AS NUMBER) = 30,0.2,0.3
)))

どうせ自分しか見ることもないし、可読性とか考えずやっちゃえやっちゃえ!はっはっは!と夜のテンションで書いたので大変汚いです。
まさかこんなところで披露することになるとは…。

そんなわけで、この関数で「並べ替えしやすい」フィールドを用意できたので、こいつを参照して昇順で並べ替えてね!よろ!
とやっていたのがこちらのレポートです。

並べ替え用フィールドをX軸に採用し、0時から23時を綺麗に表示することができました。めでたしめでたし。

じゃねえ!というのが今日のテーマでしたね。
このレポートの作り方がダメというわけじゃないんですが、このフィールドはBIツールのレポート上でしか定義が確認できません。

元データのスプレッドシートを別の方がビジュアライズする場合、どうやって同じものを再現すればいいか調べてもらわないといけないですよね。

このような場合、仕様に関するページをデータポータルで用意しておくと別の方でもカスタマイズがしやすくなるのでおすすめです。

というわけで

データを設計する、集計する、可視化するなんてお仕事をされる場合は
誰が見てもわかりやすい「仕様説明」もしっかりまとめておくことをオススメします。

僕は最近「これGA4管理画面でイベント作るのとGTMでイベント作るのが混在地獄転生しそうだな!はっはっは!」と悩んでたので、既存設定の棚卸しから始めてます。みんながんばろう。


この記事が気に入ったらサポートをしてみませんか?