ポストサードパーティcookie時代のソリューションとプライバシー

Googleは現時点では廃止自体を諦めたものの、個人のプライバシー尊重の観点からサードパーティcookieを廃止する動きを進めていた。AppleのiOSやSafariではすでにITPによってサードパーティcookieはデフォルトで使えなくなっている。 そんな中サードパーティcookieに代替する技術としてさまざまな技術をGoogle自身も開発し、他のベンダもそういった技術を開発してきた。その結果さまざまな自称「ポストcookie」「cookieレス」ソリューションが出てきているのだが、それらはどれも完全にサードパーティcookieを代替するわけではなく、これまでサードパーティcookieが担っ…

続きを読む →

高度な計測に使えるGTMの黒魔術とタグアシスタントの裏技

マニュアルには書いていないGTMとGoogleアナリティクスの高度な使い方。とりあえず設定しておくと便利な変数やトリガーの使い方に加え、データレイヤーを徹底的に使いこなす。さらには計測だけでなく検証の手間を大幅に省くタグアシスタントの裏技を紹介する。最後にGTMを使ったGoogleアナリティクスの高度なcustomTaskや推奨カスタムディメンションも触れる。 GTM設定の黒魔術 便利な変数 ページビューID ページビュー固有のID 一度ページを読み込んでから、次に読み込むまでの間で保持されるID そのIDをさまざまなツールに送ればそれをキーにデータ連携できる。 ツールA,B,Cの間でIDを連…

続きを読む →

GoogleアナリティクスでcanonicalをページのURLとして自動で採用する

アクセス解析における計測URLの分散の問題 Webサイトのページビュー計測では、同一ページのページビュー計測は1つのURLのページビューとして集約されることが望ましい。ところがutm_sourceなどのダミーパラメータ付きURLや「index.html」の有無によって本来同一ページのはずなのにURLが異なり、ページビュー数の評価が分かれてしまうことがある。あらかじめサイト構成が「1ページ=1URL」を厳格に守ってくれていればいいのだが、必ずしもそういうわけにはいかない。実際には1ページに複数のURLが発生することも多いのである。 SEOでは行われているURL正規化 SEOではその問題を解決する…

続きを読む →

babel/webpackを使ってJavaScriptのソースをリリース用に整備する

babelは新しいESの記法で作ったJavaScriptのソースを古いブラウザでも実行可能に変換してくれるパッケージ。webpackはJavaScriptのソースコードをminifyするパッケージ。普通は組み合わせて使う プロジェクトディレクトリにnode_modulesを作成する場合 パッケージを構築するイメージ プロジェクトディレクトリの作成 mkdir mylib cd mylib package.jsonの作成 npm init パッケージのインストール npm install –save-dev @babel/core @babel/preset-env babel-loader …

続きを読む →

Javascriptで正規分布の実装まとめ(乱数、累積分布関数など)

Javascriptで正規分布の乱数発生(rnorm)、確率密度関数(dnorm)、累積分布関数(pnorm)、累積分布の逆関数(qnorm)を実装する(逆関数は参照で)。すべて標準正規分布を想定。 Javascriptに限らず使えるアルゴリズムだが、日本語でまとまっている情報があまりないのと、ブラウザ上でA/Bテストなど有意性をみる検定などできたら面白いということでJSでやってみる。 正規乱数の生成(rnorm) 1行でBox-Muller法で。 Box-Muller法とは? $$X_1, X_2 \stackrel{i.i.d.}{\sim} {\rm Unif} (0, 1) $$ とす…

続きを読む →

GA/GTMを使った際に見えなくなるトラッカーを呼び出して処理を実行する

GoogleアナリティクスとGoogleタグマネージャーのマニアックな話題。 通常GoogleアナリティクスをGoogleタグマネージャーを使って設置すると、GAのビーコンを呼び出す際のトラッカー名はGTMによってランダムな名前のものが割り当てられる。 たとえばこんな「gtm1463146770599」形式のものである。 そうなると生成したトラッカーそのものを使って何らかの処理をすることが難しい。GTMの設定の中で固定のトラッカー名を付与すればこの問題は発生しないが、諸事情でGTMの設定権限を与えられていない場合もある。 生成したトラッカーからさまざまな情報を取得したり、その情報に基づいて何ら…

続きを読む →

Googleアナリティクスで特定の要素を表示したときにイベントトラッキングする

Googleアナリティクスなどでページの精読状況をトラッキングする際、「特定ピクセル以上スクロールする」「画面の○%以上スクロールする」ことがあるが、同様に「特定の要素を表示したとき」という条件でトラッキングしたいときもある。コンテンツの精読だけでなく、たとえばクーポンをページに仕込んでおいてその表示回数をカウントするなどのケースでも使える。 そのような場合にエレメントの座標を取得して、そこまでスクロールしたら発火するというアイデアがあるが、実はスマートフォンでは機種によって画面の幅が異なるため、テキスト部分の行数が変わり、縦座標の値も変わってくるという問題がある。単純に縦の位置を取得するだけ…

続きを読む →

JavascriptでYahoo!などのタグマネージャに渡すためのイベントを発生させる

ちょっと賢いリマーケティング タグマネージャを使ってちょっと賢い、ちょっと効率的なリマーケティングをやりたい。 多くのアカウントで共通して使える、お手軽なアドバンスト・リマーケティングの実装法を紹介する。 ディスプレイ広告の世界、やれ認知だ、アトリビューションだなどといっても、所詮リマーケティング広告大全盛である。 その運用の実際はとりあえず当該サイトのどこかのページを閲覧した(無条件でリマーケティングタグを読み込んだ)だけで リマーケティングをするということが多い。 中にはリーセンシー(直近○日以内に閲覧した)や閲覧したページの種類(トップページ or 詳細ページなど)で 入札の重みを変える…

続きを読む →

Googleアナリティクスで同一URLでフォーム遷移する場合のページビュー計測

計測URLを正規化する、1ページは1URLに集約してページビュー計測することが望ましいことはhttps://www.marketechlabo.com/send-ga-pageview-canonicalized-url/で取り上げたが、この「1ページで複数URL」とは逆に「複数のページで1URL」になるパターンの対応法を取り上げる。 よくあるのはフォームの遷移などで、同一URLで異なる内容のページが表示されることがある。 入力フォーム→確認画面→完了画面 これらが画面遷移はあるものの1URLで完結しているケースである。ひどい場合は完了画面までもが同一URLになるため、コンバージョンの計測すら…

続きを読む →

システム改修をせずにGoogleアナリティクスのeコマーストラッキングを実装する

eコマースのシステム(ショッピングカート)においてGoogleアナリティクスの Eコマーストラッキングを実装する場合、通常はトラッキングする要素に動的な要素を含む、 システムが絡むため、システム改修が必要ということになる。 しかしシステム改修となると開発費もかかるため、なかなか踏み出せない。 またeコマースのシステムによっては商品名や価格を動的に出すなどプログラムのかかわる部分には 一切手を加えられない場合もある。 そこでJavascriptだけで注文番号、商品名、金額などを取得する方法をここでは紹介する。 つまりタグマネージャー一つ設置されていれば、そのカスタムタグ機能で eコマーストラッキ…

続きを読む →