Skip to content

ページトラッキング

サイト内でのユーザーのページ遷移時の行動を追跡します。

テンプレート

以下のJavascriptコードテンプレートは、注文確認ページを除くすべてのページに配置する必要があります。

html
<script>
  (function (d, w, s) {
    var f = (w.fanplayr = w.fanplayr || { _i: [] });
    f._i.push({
      version: 3,
      accountKey: '',
      applyToCartUrl: '',
      sessionOfferUrl: '',
      userConsentMode: false,
      // userConsentStatus: true
      // allowNegativeCurrencyAmounts: true
      data: {
        lineItemCount: 0,
        numItems: 0,
        gross: 0.0,
        discount: 0.0,
        discountCode: '',
        pageType: '',
        categoryId: '',
        categoryName: '',
        productId: '',
        productName: '',
        productSku: '',
        productPrice: 0.0,
        productUrl: '',
        productImage: '',
        currency: '',
        products: [
          {
            id: '',
            sku: '',
            price: 0.0,
            qty: 1,
            name: ''
          }
        ],
        cartAction: 'override',
        searchQuery: ''
      },
      custom_data: {
        // ...
      }
    });
    var js = d.createElement(s);
    var fjs = d.getElementsByTagName(s)[0];
    js.async = true;
    js.src = 'https://cdn.fanplayr.com/client/production/loader.js';
    fjs.parentNode.insertBefore(js, fjs);
  })(document, window, 'script');
</script>

設定

version

  • タイプ: integer
  • スコープ: すべてのページ
  • 必須

Fanplayrプラットフォームで使用されるトラッキング形式のバージョン識別子です。3に設定する必要があります。

accountKey

  • タイプ: string
  • スコープ: すべてのページ
  • 必須

Fanplayrプラットフォームでお客様のアカウントを識別するために使用される一意の文字列です。

storeDomain

  • タイプ: string
  • スコープ: すべてのページ
  • デフォルト: window.location.hostnameの値

Fanplayrがセッションに関連付けるドメインを任意で上書きするために使用できます。

connect

  • タイプ: object
  • スコープ: すべてのページ
  • デフォルト: undefined

拡張ユーザー識別のためのサーバーサイドページのパスです。

applyToCartUrl

  • タイプ: string
  • スコープ: すべてのページ
  • デフォルト: undefined

提供された場合、これによりFanplayrウィジェットがオファーコードを直接カートに適用できるようになります。これにより、訪問者が有料顧客に変換される容易さが増します。詳細については、カートへのオファー適用セクションを参照してください。

sessionOfferUrl

  • タイプ: string
  • スコープ: すべてのページ
  • デフォルト: undefined

提供された場合、これによりFanplayrはセッションオファーセキュリティメソッドを使用できるようになります。詳細については、セッションオファーセクションを参照してください。

allowOfferPrompt

  • タイプ: boolean | function
  • スコープ: すべてのページ
  • デフォルト: undefined

オファーフライアウトウィジェットは、オファーが適用されていない場合にウォレットを強制的に開くことで、収集されたオファーをカートに適用するようユーザーに促すように設定できます。デフォルトでは、この機能はカートページでのみトリガーされます。

このオプションは、現在のページ(ページタイプに関係なく)でこの機能を有効または無効にするために使用されます。関数が提供された場合、その戻り値が使用されます。

可能な値

  • true - カート以外のページを含む現在のページでのオファープロンプトを許可します。
  • false - 現在のページでのオファープロンプトを無効にします。

値に関係なく、オファープロンプト機能は、現在カートにオファーが適用されていない場合にのみ使用されます。

userConsentMode

  • タイプ: boolean
  • スコープ: すべてのページ
  • デフォルト: undefined

Fanplayrがユーザーのデータを保存するためにユーザーの同意を考慮する必要があるかどうかを決定します。

詳細については、データに関するユーザー同意を参照してください。

userConsentStatus

  • タイプ: boolean
  • スコープ: すべてのページ
  • デフォルト: undefined

userConsentModetrueに設定されている場合、これはユーザーがデータの保存に同意したかどうかを定義します。

詳細については、データに関するユーザー同意を参照してください。

allowNegativeCurrencyAmounts

  • タイプ: boolean
  • スコープ: すべてのページ
  • デフォルト: false

デフォルトでは、通貨変数の負の値は許可されず、常にその絶対正の値に変換されます。 たとえば、gross-100.00を指定すると、100.00(正)に変換されます。

この動作を無効にし、負の通貨金額(負のカート合計など)を追跡できるようにしたい場合は、 allowNegativeCurrencyAmountstrueに設定します。

この動作は以下のトラッキング変数に影響します:

トラッキング変数

以下の変数はdataオブジェクト内で提供する必要があります。例:

javascript
{
  version: 3,
  accountKey: '7e43c8cddccade2b95ee5286ba89758a',
  data: {
    lineItemCount: 2,
    numItems: 2,
    gross: 89.90,
    discount: 10.00
  }
}

lineItemCount

  • タイプ: integer
  • スコープ: すべてのページ
  • 必須

現在カートに追加されている一意の商品の数です。

numItems

  • タイプ: integer
  • スコープ: すべてのページ
  • 必須

カートに追加されたすべての商品の合計数量です。

gross

  • タイプ: float
  • スコープ: すべてのページ
  • 必須

現在カートにある商品の合計金額(指定された通貨)。より具体的には、割引、送料、税金のカート内商品の合計金額です。

discount

  • タイプ: float
  • スコープ: すべてのページ
  • 必須

これは、カートに適用された割引の合計金額です。つまり、送料無料や送料割引などの割引はこの値を変更すべきではありません。

discountCode

  • タイプ: string
  • スコープ: すべてのページ
  • 必須

カートに適用された割引コード(もしあれば)。複数の割引コードが適用されている場合は、カンマで区切ってください。

pageType

  • タイプ: string
  • スコープ: すべてのページ
  • 必須

現在のページのタイプ。有効な値は次のとおりです:

  • home – ホームページ。
  • prod – 商品ページ。
  • cat – カテゴリーページまたは商品リスト。
  • srch – 特定の検索ページ、または検索結果ページ。
  • cart – ショッピングカートページ。
  • checkout - チェックアウトフロー内のページ(注文確認ページを除く)。
  • blog - ブログページ。
  • page – その他のページ。例:「About」、「Contact」など。

currency

  • タイプ: string
  • スコープ: すべてのページ
  • デフォルト: "USD"

追跡される商品およびカートの金額のISO 4217通貨コードです。

brands

  • タイプ: string[]
  • スコープ: ホーム、商品、カテゴリページ

現在のページに関連付けられているブランド名の配列です。

categories

  • タイプ: string[]
  • スコープ: 商品およびカテゴリーページ
  • 必須

現在のページに関連付けられているカテゴリ名の配列です。

この商品が属するカテゴリです。商品は複数のカテゴリに属することができます。末端のカテゴリだけでなく、完全なカテゴリパスを提供することで、推奨事項と検索の品質が大幅に向上します。

階層レベルを区切るには>を使用します。カテゴリ名に>が含まれる場合は、"|"などの別の文字に置き換えてください。

json
"categories": [
  "Shoes & Accessories > Shoes",
  "Sports & Fitness > Athletic Clothing > Shoes"
]

categoryId

  • タイプ: string
  • スコープ: 商品およびカテゴリーページ
  • 非推奨categoriesを使用してください。

現在のカテゴリーのID。カテゴリーページおよび商品ページで指定する必要があります。

categoryName

  • タイプ: string
  • スコープ: 商品およびカテゴリーページ
  • 非推奨categoriesを使用してください。

利用可能な場合、現在のカテゴリー名。

productId

  • タイプ: string
  • スコープ: 商品ページ
  • 必須

単一の一意の商品識別子。カートまたは注文内の商品を区別するために使用されます。

これは、個々の商品ページビューをカートに追加された商品にリンクするためにも使用されます。詳細については、Product.idを参照してください。

productSku

  • タイプ: string
  • スコープ: 商品ページ
  • 必須

商品のSKUです。これはproductIdと同じである場合がありますが、セグメンテーションオプションとしても利用可能です。

productPrice

  • タイプ: float
  • スコープ: 商品ページ
  • 必須

ユーザーに表示される商品の単価です。

基本価格と割引価格/セール価格を実装するカートの場合、ユーザーが商品をカートに追加する際に表示される価格が割引価格である場合は、そちらを使用してください。

productName

  • タイプ: string
  • スコープ: 商品ページ
  • 必須

現在閲覧中の商品名。例:「Red Shoes」。

productUrl

  • タイプ: string
  • スコープ: 商品ページ
  • 必須

商品の詳細を表示するページのURL。このプロパティは、商品の「クイックビュー」を追跡する際に、商品ページの実際のURLが正しく取得されるようにするために使用する必要があります。

productImage

  • タイプ: string
  • スコープ: 商品ページ
  • 必須

商品画像のURL。

customerEmail

  • タイプ: string
  • スコープ: すべてのページ

現在のユーザーのEメールアドレスです。

customerId

  • タイプ: string
  • スコープ: すべてのページ
  • 非推奨

これはサイト内部のユーザー識別子です。新規ユーザーとリピーターを追跡するために使用されます。

INFO

このプロパティは非推奨であり、ユーザー識別機能に置き換えられました。ログインユーザーの識別子は、特殊な$user識別子を使用して指定してください。

products

  • タイプ: Array<Product>| string
  • スコープ: すべてのページ
  • デフォルト: []

現在ショッピングカートに入っている商品を表すオブジェクト(またはJSON)の配列です。

この配列に格納する値の詳細については、商品オブジェクトを参照してください。

cartAction

  • タイプ: CartAction
  • スコープ: すべてのページ
  • デフォルト: "override"

これは、Fanplayrが現在のトラッキングコールに対してカート関連データ(カート内の合計金額、カート内の商品など)をどのように扱うかを決定する特殊な変数です。現在のトラッキングコールで利用できない場合、前のページビューからカートの詳細を引き継ぐために使用できます。

identities

  • タイプ: IdentityMap
  • スコープ: すべてのページ

ユーザーがリピーターであるかを識別するためにFanplayrが使用するシグナルを改善するために、他のユーザーIDをFanplayr独自のユーザー識別子と関連付けることができるアイデンティティマップオブジェクトです。詳細については、アイデンティティ管理ドキュメントを参照してください。

searchQuery

  • タイプ: string
  • スコープ: 検索ページ

ウェブサイトの検索結果ページでユーザーが入力した検索語句やクエリをキャプチャするために使用されます。pageTypeプロパティを参照してください。

カスタムデータ

必要に応じて、Fanplayrはサイトでのユーザー行動を追跡しながらカスタムデータを収集できます。このデータは、Fanplayrがネイティブでサポートしていないデータで_セグメント化_するために使用できます。

使用例としては、ユーザーの「ログイン」ステータス、内部セグメンテーション情報、または現在の店舗(例えばMagento Enterpriseを使用している場合)を渡すことができます。

この機能を使用するには、設定をお手伝いいたしますのでFanplayrにご連絡ください。

javascript
{
  accountKey: '7e43c8cddccade2b95ee5286ba89758a',
  // ...
  custom_data: {
    is_logged_in: '1',
    internal_segment: 'general_user',
    store: 'french',
  }
}

以下の例は、次を追跡するために使用できます:

  • 現在「Red Shoes」商品ページを閲覧しているユーザー
  • カートにはすでに2つの商品が追加されています:
    • 10ドルのカップ2個
    • 45ドルのTシャツ1枚
  • カートに5ドルの割引を適用するクーポンコード「WINTER5」
html
<script>
  (function (d, w, s) {
    var f = (w.fanplayr = w.fanplayr || { _i: [] });
    f._i.push({
      version: 3,
      accountKey: '7e43c8cddccade2b95ee5286ba89758a',
      data: {
        lineItemCount: 2,
        numItems: 3,
        gross: 65.0,
        total: 60.0,
        discount: 5.0,
        couponCode: 'WINTER5',
        pageType: 'prod',
        categoryId: '45',
        categoryName: "Women's Shoes",
        productId: 'WRS001',
        productName: 'Red Shoes',
        productSku: 'WRS001',
        productPrice: 59.0,
        productUrl: 'https://example.com/women/shoes/001.html',
        productImage: 'https://example.com/images/products/WRS001.jpg',
        currency: 'USD',
        products: [
          {
            id: 'cup001',
            price: 10.0,
            qty: 2,
            name: 'Boring Old Cup'
          },
          {
            id: 'tshirt001',
            price: 45.0,
            qty: 1,
            name: 'Really Expensive T-Shirt'
          }
        ]
      }
    });
    var js = d.createElement(s);
    var fjs = d.getElementsByTagName(s)[0];
    js.async = true;
    js.src = 'https://cdn.fanplayr.com/client/production/loader.js';
    fjs.parentNode.insertBefore(js, fjs);
  })(document, window, 'script');
</script>

動的サイト

上記のトラッキングコードが正しく実装されている場合、Fanplayrはユーザーがウェブサイトを閲覧する際に、ページが読み込まれた後にページを追跡します。これはほとんどのサイトで十分ですが、コンテンツを動的に読み込むサイトでは追加のステップが必要になる場合があります。

例えば、ユーザーを新しいページにリダイレクトする代わりに、ポップアップオーバーレイで商品詳細を読み込むサイトの場合、商品ビューを正しく追跡するために追加のステップを実装する必要があります。

最初のページビューがFanplayrによって追跡された後、fanplayr.reinitialize()メソッドにトラッキングデータを渡すことで、追加のページビューを動的に追跡できます。

トラッキングデータは上記と同じ形式に従います。すべての必須プロパティが存在する必要があることに留意してください。

javascript
// このメソッドはfanplayrスクリプトの読み込み後に利用可能です。
fanplayr.reinitialize({
  type: 'st',
  accountKey: '7e43c8cddccade2b95ee5286ba89758a',
  data: {
    pageType: 'prod',
    productId: '56_b2',
    // 簡潔にするため、多くの必須プロパティは省略されています。
    ...
  }
});