Google Analytics でクエリパラメータごとのアクセス数を見るまで

## はじめに

Web サイトでは、ユーザーがどこから流入してきたかを明らかにするために、流入元ごとに `http://example.com/?q=hoge` `http://example.com/?q=fuga` のようにクエリパラメータを付与することがあります。（このような目的で付与されるクエリパラメータを **パッシブパラメータ** と言うこともあるそうです）
今回はデモサイトを用意して、Google Analytics を利用し、クエリパラメータごとのアクセス数を見るまでを実践してみました。

## 実践

### 1. デモサイトを用意する

どのように用意しても良いですが、今回は AWS S3 の **静的ウェブサイトホスティング** を利用しました。

<details><summary>詳細な手順</summary><div>

1. バケットを作成します。この時「パブリックアクセスをすべてブロック」を解除します。

    ![s3_public_block_setting.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/390e31f6-73cd-3241-a269-92e5b8a47ec1.png)
    <br>
2. 「アクセス許可」→「バケットポリシー」から、パブリックからのバケットへのアクセスを許可します。例えば、以下のような JSON を入力し、保存します。`uv-advent-ga-demo` となっている部分はバケット名で、適宜修正します。

    ```json
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublicReadGetObject",
                "Effect": "Allow",
                "Principal": "*",
                "Action": [
                    "s3:GetObject"
                ],
                "Resource": [
                    "arn:aws:s3:::uv-advent-ga-demo/*"
                ]
            }
        ]
    }
    ```
    <br>
3. 「プロパティ」→「静的ウェブサイトホスティング」から、静的ウェブサイトホスティングを「有効にする」を選択します。

    ![static-web-hosting-on.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/d16cc0cb-5f1e-8419-cdf7-05efb41cbae9.png)

   以上で、エンドポイントが利用できるようになりました！
   バケットに `index.html` ファイルをアップロードすると、このエンドポイントからアクセスできるようになります。

    ![endpoint.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/e7d94fe5-7dc2-f685-ff8c-f01125817bd8.png)

</div></details>

### 2. Google Analytics を設定する

1. アナリティクスアカウント、プロパティを作成したりします。

    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/9efa5d83-3f30-7781-a386-d3c94fb06c29.png" width=45%>
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/85714b9b-8638-27bd-6d39-f0953c9118e8.png" width=40%>
    <br>
2. ウェブストリームの設定をします。ウェブサイトの URL はデモサイトの URL にします。

    ![ga4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/207b3fa3-18a3-658e-d5e8-1069b4ed2cf9.png)

    以上で、測定ID が利用できるようになりました！

    ![gid.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/204c25ca-a59c-c4ce-34b1-b24126363f89.png)

    タグを埋め込むスクリプトも用意されています。

    ![gid2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/b81bf54f-d5de-d935-e280-25bce8b120ce.png)


### 3. デモサイトにタグを埋め込む

先ほど手に入れたタグを埋め込むスクリプトをデモサイトの `<head>` 要素の直後に貼り付けます。

```html
<html lang="ja">

<head>
    <title>Google Analytics でクエリパラメータごとのアクセス数を見るまで</title>
    <meta charset="UTF-8">
</head>

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YG0GVJKT5"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag() { dataLayer.push(arguments); }
    gtag('js', new Date());

    gtag('config', 'G-2YG0GVJKT5');
</script>

<body>
    <h1>Google Analytics でクエリパラメータごとのアクセス数を見るまで</h1>
</body>

</html>
```

### 4. 動作確認

デモサイトにアクセスした後、アナリティクスの「レポート」→「リアルタイム」を見てみると、ほぼリアルタイムでデータ収集がされている様子を確認できました。
**※広告ブロッカーを利用しているとデータ収集がされないことがあるようです。**

![gaga.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/f8f644aa-f71f-3eb9-3224-97c2972cd4b6.png)

### 5. クエリパラメータごとのアクセス数を見る

1. アナリティクスの「探索」→「空白」を開きます。
2. ディメンションに「ページ / スクリーン」→「ページパス + クエリ文字列」をインポートします。
3. 指標に「ページ / スクリーン」→「表示回数」をインポートします。
4. 行に「ページパス + クエリ文字列」を、値に「表示回数」をドロップします。

    以上でクエリパラメータごとのアクセス数を見ることができました！
    **※値が反映されるまで24時間程度かかるそうです。**

    ![qp.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2696290/a83fdcf8-4725-9518-8c13-e1072bedc117.png)

## おわりに

簡単でした！
Google Analytics はアクセス数に限らず、星の数ほどのイベントが取れるのでとても触りがいがありそうです。