[難易度:高] スクロールの深さを計測してスコアリング | Community
Skip to main content
June 9, 2016

[難易度:高] スクロールの深さを計測してスコアリング

  • June 9, 2016
  • 11 replies
  • 526 views

こんにちは、大里です。

縦長のLPや、読みもの系のコンテンツの場合「ちゃんと読んでくれたか?」知りたいですよね。

また、1番下まで読んでくれたら方にはスコアを付与したりしたいですよね。

できますよ。

Scroll Depthというライブラリ

Scroll Depth - A Google Analytics plugin for measuring page scrolling

このライブラリを使います。

Google Tag Managerを使用している方であれば簡単に実装できます。

Track Scroll Depth Using Google Tag Manager | Data Over Everything

こちらのライブラリはもともとGAでスクロール深度を計測するためのライブラリなので
GAで活用していただいても結構です。

Marketoで計測するためのカスタマイズ

細かい設定方法は上記のページを参照していただくとして
Marketo用にカスタマイズする箇所だけご紹介します。

*Google Tag Managerを使用している前提です。

75%、100%までスクロールした場合の例

まず、Marketoで計測するためのタグを配信するタイミングを制御してくれるトリガー(ルール)を作ります。

ライブラリの方で、スクロールが行われると「75%まで行きましたよ!」「100%きましたよ〜」というのを
eventで伝えくれます。それを捉えためにこのように書きます。

イベント名.*
event含むScrollDistance
label正規表現一致(75|100)%

次にタグの用意

<script>

    Munchkin.munchkinFunction('visitWebPage',

      {

        url: document.location.href,

       params: 'Scroll=' + {{label}}

     }

   );

  </script>

 

例えば、このページでhttps://jp.marketo.com/​1番下までスクロールが実行されると
事前にセットしたトリガー(ルール)に基づいて上記のタグが配信されます。
するとMarketoは

https://jp.marketo.com/?Scroll=100%

というページにユーザーがやってきたと認識します。

ですので、最下部までのスクロールをスマートリストでとらえる場合は

こんな感じです。

これで最下部までスクロールした方へのスコアリングができますね!

注意点

このライブラリは25%,50%,75%,100%の粒度で計測できるのですが

細かくトラッキングしてしまうと、マルケト側の処理が大量に増えますので

インスタンスの処理速度が遅くなります。

全ページで25%,50%,75%,100%の4段階トラッキングすると
単純にリクエスト数は4倍に増えます。

あと、GAに関して言うと「非インタラクションヒット」の設定を考えておかないと
直帰率がおかしくなってしまいます。

かなりマニアックな内容ですが、興味ある方は是非チャレンジしてみください!

Happy Marketo Life!!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

11 replies

June 16, 2016

ちょうどサービス内の求人情報やスカウトメッセージを最後まで読んだのか判定したいと思っていました!とても参考になります。

August 19, 2016

上記とほぼ同じ(”label”を”eventlabel”に変えています。)設定をしたんですが、マルケト上で反応してくれません。。。

何か考えられる原因などありますでしょうか・・・?

August 21, 2016

@Nakazawa Risa​様

メガ・トレードの北村です。

上記とほぼ同じ(”label”を”eventlabel”に変えています。)設定をしたんですが、マルケト上で反応してくれません。。。

何か考えられる原因などありますでしょうか・・・?

今の情報において考えられる事と言えば、labelをeventlabelに変更しているからでしょうか。

このlabelを変更すると、下記コードの箇所も変更しないとならないと思います。(検証はしてないですが…)

■変更前

<script>

    Munchkin.munchkinFunction('visitWebPage',

      {

        url: document.location.href,

       params: 'Scroll=' + {{label}}

     }

   );

  </script>

■変更後

<script>

    Munchkin.munchkinFunction('visitWebPage',

      {

        url: document.location.href,

       params: 'Scroll=' + {{eventlabel}}

     }

   );

  </script>

お試しいただければと思います。

August 22, 2016

北村様

ご返信ありがとうございます!

ご指摘いただいた、コードの変更も{{eventlabel}}にしているものの、キャンペーンが走らなくて・・・

もう一度試してみます!ありがとうございます!

中澤

August 22, 2016

中澤様

メガ・トレードの北村です。

状況を眼前で見ているわけでは無いので憶測しか述べられませんが、

タグマネージャ側でタグの優先度を一番上に上げる事も効果的です。

弊社でも、一部タグが邪魔して動かなかったこともありました。

プレビュー機能を使い状況を確認してみるのも手ですね。

わからない事があればまたご投稿ください。

August 22, 2016

北村様

ご丁寧にありがとうございます!

色々試してみて、無事できるようになりました!

※弊社で、マンチキンタグを変なところに設置してる影響できちんと動かなかったようです・・・

ありがとうございました!!

Taishi_Yamada
Level 6
August 25, 2016

queryの文字列に"%"を書くのが個人的に気が引けるのですが、あまり気にされません?

GTMで適切にエンコードさせてますかね?

August 26, 2016

Taishi Yamada様

横から失礼します。

正規表現内の指定なので問題無いかと思いますが、気になるようでしたら大文字にされたら良いかと存じます。

%ではなく、%ですね。

その場合、他の箇所も大文字にされないとダメな気がします。(未検証です)

Taishi_Yamada
Level 6
August 26, 2016

Kitamura様、

いいえ、話のポイントは正規表現うんぬんではなくて、URL(URI)に渡す値として、"%"が素で渡るのがどうかなとちょっと気になっただけです。

URIで使える文字はRFC3986あたりの記載でご確認ください。全角文字の%にすると、それはそれで扱いにくいので。。。当社では同じではないですが、他のところで似たような事をしてますが、その場合は%は書かずに単位に数字だけで渡してます。

超絶細かい話なので問題なく動いているなら神経質になる必要はないですけどね。。。ちょっとした興味本位です。

August 26, 2016

Yamada様

なるほど、少し観点がずれていましたね、失礼しました。

GTMでマルチバイト文字列を渡すと基本エンコードされて渡るので、%もパーセントエンコードされる旨をどこかで見た気がしましたが、あまり深く考えてませんでした。

細かい話ではあるかと思いますが、これがどこで影響を及ぼすかわからないので大事な事だと存じます。