こんにちは。スプマロです(@649Ga4)
この記事ではGoogle Analytics(以下GA)のビューフィルタを使って、URLに付与されているパラメータをカスタムディメンションに計測する方法について解説します。
よくある例は、分析用にパラメータをURLに付与するケースがあります。
https://example.com/?sid=hogehoge
ただし、GAの仕様としてパラメータがついてしまうと別ページとして計測がされます。
①https://example.com/
②https://example.com/?sid=hogehoge
①と②は同じページですがパラメータがつくことで別のページとして計測されます。
そのため、GAにはフィルタ機能でパラメータを削除することが可能です。ただし、分析用としてパラメータの値は残しておきたいという悩みもありますよね。
この問題を解決するためにGAで以下の設定を行います。
①パラメータをカスタムディメンションで計測する
②パラメータをURLから削除する
こうすることで、分析をするときにはカスタムディメンションを使いつつ、ページ計測も別れないようにすることができます。
Google TagManager(以下GTM)を使わなくても、GAのみで設定することができます。
それでは早速見ていきましょう。
パラメータをカスタムディメンションで計測する
まずはカスタムディメンションにパラメータの値を計測する方法について説明します。
カスタムディメンションとは、カスタムで計測したいデータを蓄積するためのGA設定になります。詳しく知りたい方はこちらの公式ヘルプをご参照ください。
設定手順は以下になります。
①カスタムディメンションの設定
②ビューフィルタの設定
それぞれ見ていきましょう。
カスタムディメンションの設定方法
カスタムディメンションの設定手順は以下になります。
「管理」>プロパティの「カスタム定義」>「カスタムディメンション」を選択します。
「新しいカスタムディメンション」を選択します。
カスタムディメンション名(任意の値)と範囲(スコープ)を入力して作成します。
範囲(スコープ)はGAの分析をするうえで、重要な概念になります。
範囲(スコープ)について詳しく知りたい方は公式ヘルプをご参照ください。
これでカスタムディメンションの設定は完了です。
ビューフィルタを作成する前に覚えておくべき重要なこと
ビューフィルタを作成する前にとても重要なポイントがあります。それは必ず検証用のビューを作成してそのビューでフィルタを検証することです。
ビューフィルタは、ビューに適用前の過去データには影響はありません。
ただし、ビューに適用した瞬間から計測するデータに影響を与えます。
つまり、もしフィルタの設定が誤っていた場合、間違ったデータがビューに蓄積されてしまいます。
なので、必ず検証用のビューでフィルタが正常に機能していることを確認後、メインのビューにフィルタ適用をしてください。
ビューフィルタの設定方法
それではビューフィルタの設定方法を見ていきましょう。
ビューフィルタの設定条件として、正規表現を使います。
正規表現とは、「いくつかの文字列を一つの形式で表現するための表現方法」です。フィルタ以外にも、目標設定やセグメントなど活用できるポイントは多いため、覚えておくと便利です。詳しくは公式ヘルプをご参照ください。
設定手順は以下になります。
「管理」>ビューの「フィルタ」>「フィルタを追加」を選択します。
そして、以下の設定を入力して保存します。
項目 | 内容 | 備考 |
フィルタ名 | 任意の値 | |
フィルタの種類 | カスタム | |
フィルタのタイプ | 詳細 | |
フィールドAの項目 | リクエスト URL | |
フィールドAの内容 | パラメータ名=(.*?)(&|$) | パラメータ例は「sid」 |
出力先の項目 | 作成したカスタムディメンション | 例は「04_sidパラメータ(ヒット)」 |
出力先の内容 | $A1 |
※今回はフィールドBは使わないため、空欄で問題ありません。
このフィルタは、フィールドA(URL)の内容の一部を、出力先(カスタムディメンション)に値としてセットするフィルタになります。
フィルタの仕様についても説明しますと、まずフィールドAを見てみましょう。
フィールドAには「リクエスト URL」を使います。そして内容には、以下の正規表現を入力します。
パラメータ名=(.*?)(&|$)
正規表現は「()」で括られた箇所をグループ化します。
そしてカスタムフィルタはグループに番号を付与をします。番号は「フィールド名+グループの順番」で構成されます。
例えばフィールドAで以下内容の場合、「A1」と「A2」の2つのグループに分けられています。
例)パラメータ名=(.*?)(&|$)
A1=(.*?)
A2=(&|$)
具体的にURLで見るとパラメータの値を「A1」でグループ化することができます。
https://example.com/?sid=hogehoge
次に出力先の設定を見ましょう。
先ほどフィールドAでグループ化した「A1」の値をカスタムディメンションにセットする設定となります。
グループを指定する場合は、グループの番号の前に「$」をつけます。
この設定をすることで、指定したパラメータの値をカスタムディメンションにセットすることができます。
URLからパラメータを削除する方法
次にURLからパラメータを削除する方法を見ていきましょう。
URLからパラメータを削除する方法は2つあります。
- ビューの設定から「除外する URL クエリパラメータ」オプションを使う
- パラメータを削除するビューフィルタを設定する
パラメータを削除するだけならどちらを使っても問題ないものの、
今回のケースでは、①を使うことはできません。
理由は①のビューの設定からの削除は、ビューフィルタよりも早く適用されます。
①を使う場合、まずURLからパラメータが削除されます。
その後、先ほど作成した「カスタムディメンションに値をセットするフィルタ」の処理が始まりますが、パラメータが既に①で削除されているため機能しません。
そのため、①ではなく②のビューフィルタでパラメータを削除する必要があります。
なのでビューフィルタを使って、特定のパラメータを削除する方法を見ていきましょう。
ビューフィルタで特定のパラメータのみを削除する
URLから特定のパラメータを削除するフィルタを作成します。
設定手順は以下になります。
「管理」>ビューの「フィルタ」>「フィルタを追加」を選択します。
そして、以下の設定を入力して保存します。
項目 | 内容 | 備考 |
フィルタ名 | 任意の値 | |
フィルタの種類 | カスタム | |
フィルタのタイプ | 検索して置換 | |
フィルタフィールド | リクエスト URL | |
検索文字列 | (^[^#?]*\?([^#]*&)?)(パラメータ名(=[^&#]*)?&?) | パラメータ例は「sid」 |
文字列の置換 | \1 | 「\」はバックスラッシュ |
削除するパラメータが複数ある場合は、パラメータごとにフィルタを作成する必要があります。
続いてもう一つフィルタを作成します。
パラメータが複数ある場合は、末尾に「?」もしくは「&」が残る可能性があるためこちらも削除します。
設定手順は以下になります。
「管理」>ビューの「フィルタ」>「フィルタを追加」を選択します。
そして、以下の設定を入力して保存します。
項目 | 内容 |
フィルタ名 | 任意の値 |
フィルタの種類 | カスタム |
フィルタのタイプ | 検索して置換 |
フィルタフィールド | リクエスト URL |
検索文字列 | ([?&]$) |
このフィルタも適用することでURLの末尾に残った「?」や「&」を削除することができます。
それでは設定したフィルタを検証用のビューに適用しましょう。
ここで重要なのはフィルタの順序になります。
GAのビューフィルタはフィルタの順序通りに処理が行われます。
パラメータを削除するフィルタを先に処理をしてしまうと、カスタムディメンションに値をセットできなくなります。
なので、今回のケースでは以下の順序にする必要があります。
- カスタムディメンションにデータ送るフィルタ
- URLから特定のパラメータ削除するフィルタ
- URLの末尾から「?」や「&」を削除するフィルタ
順序は管理画面から簡単に変更することが可能です。
ビューフィルタの画面から「フィルタの順序を割り当て」を選択します。
フィルタの順番を変更して保存します。
以上ですべての設定は完了です!
お疲れ様でした。
あとは、検証用のビューでフィルタが正常に機能をしているかを確認して、メインのビューに同様のフィルタ設定を行います。
まとめ
今回はビューフィルタを使って、URLに付与されているパラメータをカスタムディメンションに計測する方法について説明しました。
ビューフィルタを活用することで、分析しやすいデータに加工することができますので是非活用していきましょう!
最後までお読みいただき、ありがとうございます!
ご感想やご意見などがあれば、ぜひTwitterまでご連絡ください。