Googleアナリティクスで、User Explorerレポートを使用して発見できた興味深いシナリオに遭遇しました。
このユーザーがページにアクセスしてから1時間そのままにしておくと、Googleアナリティクスセッションがタイムアウトしました。再びアクティブになったときに、ページをリロードしませんでした。代わりに、いくつかのイベントをトリガーし、最終的に目標の変換をトリガーするフォームに記入し、「ありがとう」ページにリダイレクトしました。
発生したのは、Thank Youページがランディングページと見なされ、目標の完了場所が「(entrance)」に設定されていることです。
ユーザーエクスプローラーレポートのスクリーンショットを次に示します。私はそれを上から下に時系列順に整理しました。
「ありがとう」ページはセッションタイムアウト後の最初のページビューであるため、すべてに関連付けられています。異なるアトリビューションモデリングでこれを変更できると確信していますが、コードでできる代替アイデアを検討したいと思います。window.location
をfieldsObjectのga('send', 'event'...
関数?
他に考えはありますか?
これを支援するために思いついたのは、イベントをリッスンし、ペイロードにページの場所とタイトルが含まれていることを確認するカスタムのGoogle Analyticsタスクです。
//Modify the payload if needed before sending data to Google Analytics
ga(function(tracker){
var originalSendHitTask = tracker.get('sendHitTask'); //Grab a reference to the default sendHitTask function.
tracker.set('sendHitTask', function(model){
//Always make sure events have the page location and title associated with them (in case of session timout)
if ( model.get('hitType') === 'event' ){
if ( !model.get('location') ){
tracker.send('pageview'); //Send a new pageview if the event does not have contextual data.
}
}
originalSendHitTask(model); //Send the payload to Google Analytics
});
});
これは、ページビューのようにすべてのフィールド値を更新するわけではないので(ニース)、location
が空であるかどうかを確認し、そうであれば最初に新しいページビューを送信し、次にイベントを送信します...