アドベントカレンダーのViewがでて喜んでいる人にたぶん残念なお知らせ（QiitaのViewsとGoogleAnalyticsの差がめっちゃ出るなと思ったので調べた）

フォトクリエイト のアドベントカレンダー 編集長の @tetsunosukeito です。

この記事は [フォトクリエイト Advent Calendar 2019](https://qiita.com/advent-calendar/2019/photocreate) の 21日目の記事です。

# 概要

アドベントカレンダー運営においてQiita記事の閲覧数の計測をしたかった。しかし自身が見れるViewsに対し、GoogleAnalytics上のページビューが全然出ないなと思ったので調べました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13879/c52daee0-661b-1270-1b0d-405591c9a773.png)

これのことです。

# 背景

[昨年もアドベントカレンダーを実施](https://qiita.com/advent-calendar/2018/photocreate) したのですが、どのくらい読まれているかを知るためにViewsを追っていました。
しかし、Viewsは投稿者本人しか確認できなかったので、いちいち投稿者に定期的に報告して頂く必要がありました。

今年からは、[Organization](https://qiita.com/organizations/photocreate) も導入しましたし、それをやめ、投稿者各々にGoogleAnalyticsの設定をしてもらうことで、GoogleAnalytics上で一元的に計測できるようにしようと思いました。

※ 個人的にはOrganizationごとにアクセス解析コードを振れたらいいなと思ってます。中の人お願いします！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13879/835ea039-ee9e-30c6-f013-0be958a44090.png)

その設定はこちらからできます。

# 問題が発覚

もともと記事がどのくらい読まれていて、そのうちいいねがどのくらい押されているか？というのを指標にしたいなと思っていたのですが、どうもViewsに出ている数字よりも、GoogleAnalyticsの数字のほうが小さく出る傾向にあると思いました。当初は、リピーターのカウントの仕方や、通信が途切れたりした場合にGoogleAnalyticsのほうが制限が厳しいのかな？と思っていました。

逆に画面を再読込したときにQiitaではViewsが増えている気がしていたので、このあたりはちょっと気になっていました。

この問題について調査しました。

# 調査の方法

QiitaのViewsは APIでとれるようなのでそいつをたたく（こちらもやはり、自身の投稿しか取れないようです。そりゃそうですが）

※ こちらの調査方法が適切なのか？については独自の調査なので正しくないかもしれません。**限定共有投稿** に対して試したので、実際に閲覧はされるはずのない投稿で試したことだけお伝えしておきます。

## 準備

https://qiita.com/settings/applications から、トークンを発行します。

権限はこれだけで良いです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13879/944beada-7e11-0045-4ebb-6dccd8a54bc0.png)


トークンができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13879/5543e423-b34f-cbef-8b8a-705daae8eb20.png)


このトークンをコピーしておきます
※ 現在こちらのトークンは無効にしてあります

## シェルをつくります

```qiita_views_count.sh
token="1339c987e5022cdb895825da3ef710a8b2dd2a0f"
# チェックしたい記事のID
ITEM_ID="940a68ad7e00770b7b45"
curl -s -H "Authorization: Bearer ${token}" https://qiita.com/api/v2/items/${ITEM_ID} | jq -r '.page_views_count'
```

以上です。

##  結果

```
$ sh qiita_views_count.sh
734
```

# さて問題はこのカウントがいつ増えるのか

当然、ページを見に行けば増えます。

実はそれ以外にも...

## curl で叩く

```
$ curl -o /dev/null -s https://qiita.com/tetsunosukeito/items/940a68ad7e00770b7b45
```

## slackとかに貼るとプレビューを取りに行く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13879/f08788ff-c937-bc5e-d172-c64eabb2fdd5.png)




## Facebookなんか貼る前にプレビューを取りに行く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13879/50a45cf4-bca3-7284-72fe-b0042968b95c.png)



# 結論

残念なお知らせですが、もしかしたらどっかに貼られたりはしているかもしれませんが、その結果、実際にクリックはされておらず、あまり見られていないということがある、かもしれません。

GoogleAnalyticsのデータは、画面を再読込した場合は再カウントしなかったり、解析のデータが送られる前に切断されたりするとカウントされないという面で実際のビューよりは少しだけ少なく出る、ということはもちろんあると思います。

なので、実際に記事を閲覧しようとした人数を測定するためには、QiitaのViewsよりもGoogleAnalyticsのページビューのほうが信頼できる数字だと考えたほうが良いでしょう。
少なくとも、閲覧数あたりのいいね数やストック数を指標にしたい場合は、Viewsをもとにして考えると損をすると思います。

# おまけ

アドベントカレンダー期間中は、下記のように日次でSlackにアクセス解析レポートを投稿するようにしています。こちらは Python で書きました。一元管理したメリットがここにもあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13879/964327eb-9c71-66da-065b-63bac934d203.png)


# おわりに

フォトクリエイトでは、数字を疑って仮説を立て、それを技術的な観点で検証を行える問題解決力のある方からのご応募をお待ちしております！
数字を見るためのアクセス解析をできる方も大歓迎！ご連絡はいつでも [twitter: @tetsunosuke](https://twitter.com/tetsunosuke) まで。