上級者向け:MatomoでEコマースのアクションを手動でトラッキングする
もしあなたのウェブサイトがMatomoと統合できるコンテンツマネージメントシステムやeコマースプラットフォームを利用していない場合、手動で統合する必要があるかもしれません。チェックアウトプロセスにJavaScriptコードを追加することで、Matomoとカートソフトウェアを手動で統合することができます。後述のコードは、ユーザーのショッピングカートのデータを Matomo に送信し、アナリティクスのための主要なアクションをトラッキングします。
Matomoで完全なEコマーストラッキングを設定するために統合する必要があるアクションにはいくつかのカテゴリーがあります:
- 製品ビュー(オプション)– これにより、商品ごとのコンバージョン率が可能になる。
- カートの更新(オプション)– これにより、放棄されたカートの統計を追跡することができる。
- ご注文の更新 (必須)– これは、Eコマース・トラッキングの必須要素である。
Matomoで商品ビューをトラッキングする(オプション)
デフォルトでは、Matomoはあなたのウェブサイト全体のコンバージョン率を知ることができます。さらに、商品が販売されているページに何人が訪問したかを追跡することもできます。そして、Matomoは自動的に各商品のコンバージョン率を計算します。
製品およびカテゴリー別のコンバージョン率を収集することは、特定の製品に十分な情報がない場合や、特定の製品カテゴリーがサイト上で低パフォーマンスである場合を特定するのに役立ちます。
商品とカテゴリの両方のビューデータを Matomo にプッシュする JavaScript メソッド'setEcommerceView'
があります。商品とカテゴリのトラッキングの唯一の違いは、どのパラメータを呼び出しに付加するかです。どちらの場合も'trackPageView'
を呼び出します。両者の詳細と例は以下をご覧ください。
Matomoで商品ビューをトラッキングする
製品ビューを追跡するには、以下のパラメータを使用することをお勧めします:
- productSKU (必須) – String – 一意の製品識別子。
- productName(必須) – String – 商品名。
- categoryName(オプション) – 文字列/配列 – これは、文字列として渡されたカテゴリ名、または配列として最大5つのユニークなカテゴリです。
["Books", "New Releases", "Technology"]
- price(オプション) – Integer/Float – アイテムのコスト。
製品ビューのスニペット例
// Push Product View Data to Matomo - Populate parameters dynamically
_paq.push(['setEcommerceView',
"0123456789", // (Required) productSKU
"Ecommerce Analytics Book", // (Optional) productName
"Books", // (Optional) categoryName
9.99 // (Optional) price
]);
// You must also call trackPageView when tracking a product view
_paq.push(['trackPageView']);
Matomoにおけるカテゴリー・ビューのトラッキング
以下のパラメータは、カテゴリページビューをトラッキングするために必要であり、推奨されます(製品ページではありません):
- productSKU – Boolean – これは
false
と等しくなければならない。.
- productName – Boolean – これは
false
と等しくなければならない。.
- categoryName (必須) – 文字列/配列 – これは、文字列として渡されたカテゴリ名、または配列として最大5つのユニークなカテゴリのいずれかです。
["Books", "New Releases", "Technology"]
カテゴリー表示スニペット例
// Push Category View Data to Matomo - Fill category dynamically
_paq.push(['setEcommerceView',
false, // Product name is not applicable for a category view.
false, // Product SKU is not applicable for a category view.
"Books", // (Optional) Product category, or array of up to 5 categories
]);
// You must also call trackPageView when tracking a category view
_paq.push(['trackPageView']);
Matomoでカートの更新を追跡する(オプション)
カートの追加と削除を追跡するために、カートシステムは、ユーザーが商品を追加または削除した後、カートに残っているすべての商品の詳細を送信する必要があります。カートに入れるクリック数。これは、Matomo内の放棄されたカート機能のための正確な情報を収集するために重要です。このデータは “プッシュ “に含める必要があります。”プッシュ “とは、JavaScriptを介してMatomoに構造化データを送信する機能です。また、カート内の全商品の合計金額も必要です。従って、カートトラッキングに必要な要素は以下の2つです:
'addEcommerceItem'
現在カートに入っている各商品の名前とSKUを最低限含むをプッシュします。'trackEcommerceCartUpdate'
カートの合計をパラメータとして渡して最終プッシュします。
商品カートの更新例
カートの更新の一部として処理される各項目には、以下のパラメータを含めることができますが、最低でも名称とSKUパラメータを含める必要があります。
- productSKU(必須) – String – 一意の製品識別子。
- productName(推奨) – String – 商品名。
- categoryName(オプション) – 文字列/配列 – これは、文字列として渡されたカテゴリ名、または配列として最大5つのユニークなカテゴリです。
["Books", "New Releases", "Technology"]
- price(オプション) – Integer/Float – アイテムのコスト。
- quantity(オプション) – 整数 – このアイテムがカートに何個入っているか。デフォルトは1.
以下のスニペットには、Matomo が要求する形式のデータ例が含まれています。すべてのパラメータは、eコマースプラットフォームによって動的に入力される必要があります。
// An addEcommerceItem push should be generated for each cart item, even the products not updated by the current "Add to cart" click.
_paq.push(['addEcommerceItem',
"0123456789", // (Required) productSKU
"Ecommerce Analytics Book", // (Optional) productName
["Books", "Best sellers"], // (Optional) productCategory
9.99, // (Recommended) price
1 // (Optional, defaults to 1) quantity
]);
// Pass the Cart's Total Value as a numeric parameter
_paq.push(['trackEcommerceCartUpdate', 15.5]);
Matomoへの注文のトラッキング (必須)
注文のトラッキングは、ECトラッキングの実装を成功させるために最低限必要な設定です。注文の指標は、どのようなeコマースストアにとっても最も価値のあるものである可能性が高いため、注文追跡を正しく設定する必要があります。
Eコマースの購入をMatomoにプッシュするために必要な要素は主に2つある:
- 購入された各商品の詳細。少なくともProduct SKUが含まれます。
- 注文の詳細。少なくとも unique order IDとtotal revenue が含まれます。
ご注文は通常、お支払い確認後の注文確認ページで追跡されます。
注:カートソフトウェアによって生成されるユニークオーダーIDのため、同じ注文が二重に追跡されることはありません。
注文に商品を追加する例
以下のスニペットには、Matomo が要求する形式のデータ例が含まれています。二重引用符で囲まれたパラメータはすべて、eコマースプラットフォームによって動的に入力されます。
- productSKU (必須) – String – 一意の製品識別子。
- productName (推奨) – String – 商品名。
- productCategory (オプション) – 文字列/配列 – これは、文字列として渡されたカテゴリ名、または配列として最大5つのユニークなカテゴリです。
["Books", "New Releases", "Technology"]
- price (オプション) – Integer/Float – アイテムのコスト。
- quantity (オプション) – 整数 – 注文に含まれるこの項目の数。デフォルトは1。
コードの例:
// Product Array
_paq.push(['addEcommerceItem',
"01234567890", // (required) SKU: Product unique identifier
"Ecommerce Analytics Book", // (optional) Product name
"Books", // (optional) Product category. You can also specify an array of up to 5 categories eg. ["Books", "New releases", "Biography"]
9.99, // (Recommended) Product Price
1 // (Optional - Defaults to 1)
]);
Eコマース注文の追跡例
Matomo に渡される注文更新コードの 2 番目の部分は、注文の概要である。最低限、注文 ID と売上合計値を含む必要があります。渡される変数は、順に以下のとおりです:
- orderId (必須) – String – 重複を避けるための一意の参照番号。
- grandTotal (必須) – 整数/浮動小数点数 – 税および送料を含む注文の合計金額。
- subTotal(オプション) – Integer/Float – 送料を除いた注文合計。
- tax(オプション) – Integer/Float – 課税される税額。
- shipping(オプション) – 整数/浮動小数点数 – 送料の請求額。
- discount (オプション) – 整数/浮動小数点/ブール値 – 割引を提供するか?デフォルトは
false
.そうでない場合は、数値を入れてください。
コードの例:
// Order Array - Parameters should be generated dynamically
_paq.push(['trackEcommerceOrder',
"000123", // (Required) orderId
10.99, // (Required) grandTotal (revenue)
9.99, // (Optional) subTotal
1.5, // (optional) tax
1, // (optional) shipping
false // (optional) discount
]);
開発者への警告:通貨変数は整数または浮動小数点数として渡す必要があります。
以下の通貨パラメータは、文字列ではなく整数または浮動小数点数で指定する必要があります:
- addEcommerceItem() パラメータ:
- 価格
- trackEcommerceOrder() パラメータ:
- グランドトータル
- 小計
- 税金
- 出荷
- 割引
例えば、以下の値はすべて無効な通貨変数:
- “5.3$”
- 「5.3ユーロ
- “5,4”
- “5.4”
- “5.44”
以下の値である。有効な通貨変数:
- 5
- 5.3
- 5.44
Eコマース・ソフトウェアが文字列としてのみ値を提供する場合、値を有効なフォーマットに変換するJavascript関数parseFloat()を呼び出すことができます。まず、扱いたい文字列に通貨記号やその他の文字が含まれていないことを確認してください。“554.30”.そして、その値を関数に渡すことができます:
parseFloat("554.30");
注:JavaScript関数parseFloat()はカンマ区切りの10進数値「25,3」をサポートしていないので、最初にカンマをドットに置き換える必要があるかもしれない。
役に立つと思われるその他のJavaScript関数
以下のオプションは、特にあなたのEコマースショップがシングルページアプリの時に役に立ちます。
removeEcommerceItem(productSKU)
– これは、SKU による注文から商品を削除します。更新されたカートを Matomo に記録するには、まだ trackEcommerceCartUpdate を呼び出す必要があります。clearEcommerceCart()
– これで注文は完全にクリアされます。更新されたカートを Matomo に記録するには、まだ trackEcommerceCartUpdate を呼び出す必要があります。getEcommerceItems()
– 追跡されていない e コマースオーダー内のすべての e コマースアイテムを返します。返される配列はコピーなので、変更しても e コマースオーダーには影響しません。追跡されるものに影響を与えるには、メソッド:addEcommerceItem()
,removeEcommerceItem()
,clearEcommerceCart()
を使用します。注文やカートの更新を追跡する前に、追跡対象のリストを確認するのに便利です。
JavaScriptトラッキングAPI用に、Matomo Eコマース開発者向けドキュメントで利用可能なすべてのAPIを参照してください。。
また、MatomoにEコマースデータを記録したら、Matomo API経由ですべてのレポートデータにアクセスしたいと思うかもしれません:Ecommerce Analytics Reporting APIについて詳しく知る.