アンカーを使用しないでトラッキングを行う

📘

これは特殊な組み込みにおいてのみ使用します

リコメンデーションのアイテムにアンカーリンクを使用している場合(LiftIgniterを組み込んでいるWebサイトのほとんどがこれにあたります)は、このセクションを飛ばしてお読みください。

`[$p("track")] は、特定のエレメント上のアンカーリンクを検索します。そして、トラッキングタグとイベントリスナーをリコメンドされたアイテムに付加します。

リコメンデーションへのリンクにアンカーリンクを使用していない場合は、[$p("send")]を使用して、[widget_shown]、[widget_visible]、[widget_click]のイベントを起動する必要があります。ウィジェットにアンカータグを使用している場合は、[$p("track")]を使用することでこれらはすべて処理されますが、これ以外のケースについてはオプションが多岐にわたるため、処理されません。

例えば、

$p("register", {
  max: 5
  callback: function(resp) {
    // タグトラッキングのためにURLに付加されたタグを処理する。
    resp.items = resp.items.map(function(item){
      // タグを追加する。
      // クエリのパラメータが正常に処理されていることを確認してください。
      // この例はシンプルな一例で、すべてのケースについてはカバーしていません。
      item.url = item.url + "?li_source=LI&li_medium=widget_name"
    })

    // ウィジェットを表示する
    var element = document.querySelector(".recommendation-selector") 
    var template = "some template"
    element.innerHTML = $p("render", resp.items)

    // ウィジェット上で可視(Visible)状態にあるアイテムを抽出する
    var visible_items = resp.items.map(function(item){return item.url;})

    // widget_shownイベントを送る
    $p("send", "widget_shown", {
      // リコメンデーションから返されたアイテムのURLの配列
      vi: JSON.stringify(visible_items),
      w: "widget_name",
      // LiftIgniterからのリコメンデーションには"LI"を使用する 
      source: "LI"
    })
    
    // ウィジェット上の個別のアイテムエリアに対するリコメンデーション
    var recommendations = querySelectorAll(".recommendation-selector > div")

    recommendations.foreach(
      function(element){
        // 個別のDOMエレメントにonClickイベントを追加する。
        element.onClick(function(){ 
          $p("sendRobust", "widget_click", { // "sendRobust"を使用して、ページがリダイレクションされてもクリックが確実に送信されるようにしてください
            vi: JSON.stringify(visible_items), // ウィジェット上で可視(Visible)状態にあるアイテムのリスト
            w: "widget_name", // パフォーマンストラッキングに使用するウィジェットの名前
            clickUrl: "", // リコメンデーションに表示されるアイテムのURL
            source: LiftIgniterからのリコメンデーションには"LI"を使用する 
          })
        }
    ))
        
    // VCTR(Visible Click-Through Rate)を測定するためのオプション
    // callback関数を実行するために".onVisible"関数を実装してください
    // ユーザの画面上にDOMが可視(Visible)状態にある場合
    element.onVisible(function(){
    	$p("send", "widget_visible", {
    		vi: visible_items, // ウィジェット上で可視(Visible)状態にあるアイテム
        w: "widget_name", // パフォーマンストラッキングに使用するウィジェットの名前
      	source: LiftIgniterからのリコメンデーションには"LI"を使用する 
    	})
    })
  }
})

📘

Clickイベントの処理: sendRobust

リンクに対するクリックイベントについては、リダイレクションが発生する前にクリックイベントを送るようにしてください。詳細については$p("sendRobust")のドキュメントを参照してください。