広告マネタイズで意外と大変なのが全体の効果測定、モニタリングになります。というのも広告マネタイズって複数の広告事業者をまたぐので管理画面などが別になりがちです。今回はその辺をdataポータルを使って一括管理する方法、設計をまとめてみました。
広告の設計で大切なのは改善フロー
広告の設計に完璧な設計はないです。ここでの設計というのはアドネットワークやヘッダービディングなどの構成を指していて、これらは媒体、ユーザー、市況などで常に変化していきます。そのため常にモニタリングして適切な構成に変化させられる運用にしておかないといけないので数字を常にモニタリングできる状況は必須になります。
広告モニタリングで難しいところ
数字をモニタリングするというのはそれ自体は当たり前というか目新しいものではないけど広告においては複数の会社の管理画面に分かれることから実際には一括管理が難しい状態になっています。
自社で結構大掛かりに管理画面を作ったり、スプレッドシートにcsv落として来たり各社いろいろな方法で頑張っているけど結構コストが高いのが現状。
モニタリングの体制・みたい指標
- セッションあたり収益性
- 統一された定義での各アドネットワークのimp(リクエスト)
- リクエスト数をベースにしたecpm
モニタリングするにあたってみておきたいのは少なくとも上記。広告のKPIについては下記の記事でもまとめています。
dataポータルの設計
- サービスはアプリでなく、web
- ユーザー行動はGoogleanalyticsでとっている
- アドサーバーはGAMを使用
上記の前提の場合、下記の設計がおすすめ。
- 下記から情報を収集
- 各アドネットワークからスクレイピング
- GAM
- googleanaly
- 各アドネットワークのrevenueとGAMのリクエスト数を紐付けた広告枠ごとの情報をbigqueryの一つのリソースに。これで同じ定義のリクエスト数を基にしたecpmがだせる
- bigqueryの計算フィールドを使い、細かい計算を行う
- それをbigqueryのviewに出す
ecpmの定義を揃えるためにGAMとアドネットワークの情報をまとめる
ecpmのimpはアドネットワークごとに定義が違う。例えばAではリクエスト時にimpとカウントするし、Bではviewableになって初めてカウントしたりする。これを揃えるためにGAMのimp(リクエスト)を用いるのが今のところ一番かなと思っています。
そのためにGAMのimpとアドネットワークからスクレイピングしてきたrevenueの情報を一つのリソースにまとめてecpmを出すやり方をしています。
viewable率の出し方
GAMでviewableimpは出せるのでこれを用いてviewable率が出せる。viewable測定できるかもアドネットワークによって変わってくるので一律でGAMの数字を使うことで全枠のviewable率を出せる。
データをどこに貯めるか?
データを貯める場所はスプレッドシートとbigqueryがメジャーなところでは多いが、スプレッドシートはセルの制限があるためbigqueryがおすすめ。
dataポータルでの計算
上記の設計にあるように一時情報を編集、計算するのはbigquery側で頑張るよりdataポータルの計算フィールドを使った方が編集しやすいのでおすすめ。計算部分、プログラミングでいうところのMVCのC部分はどちらかに寄せた方が設計がスリムになるのでこの計算フィールドに寄せた方が良さそう。
「計算フィールドについて」
https://support.google.com/datastudio/answer/6299685?hl=ja
dataポータル周りで詰まったところ
統合データのフィルタリング
統合データのフィルタリングがうまくいかないことがある。下記に注意があるので使う場合はここみてみると良さそう。
https://support.google.com/datastudio/answer/9061277?hl=ja
DATEADD関数がない
SQLのdateadd関数のような日付を編集できる関数がない?見つけられてないだけ?