英語からAIを使用して翻訳されました
この記事はAI技術を使用して翻訳されています。正確性を維持するよう努めていますが、一部の詳細が元のテキストと完全に一致しない場合があります。情報に不明点がある場合は、英語版をご参照ください。
スニペットは、スニペットを実行するタイミングと場所を定義するためにトリガーに依存しています。
この記事は、前提条件、スニペットの作成、およびテンプレートの選択に関する詳細を含むContentsquareタグコンフィギュレータの記事と併せて使用してください。
トリガー条件について
トリガー条件は、特定のスニペットがどこで(どのページで、どの条件下でなど)実行されるかを絞り込むのに役立ちます。条件はCSTCが開始されるときと再起動されるたびに評価されます。条件がfalseの場合、トリガーは発火しません。
例
URLに「checkout」を含むページでのみスニペットを発火させる、またはページに#promotion-bannerのID属性を持つ要素が存在する場合にのみ発火させるように定義します。
カスタムトリガーの使用
スニペット作成時にトリガーを選択したら、「トリガーが発火する条件」には2つのオプションがあります:
- すべてのページ
- カスタム
カスタム条件を設定するには:
1. 変数を選択します:
- URL: プロパティ
- クッキー: 名前
- ウィンドウ: オブジェクトチェーン
- 要素: CSSセレクタ
2. 演算子を選択します:
- 含む (contains)
- 含まない (notContains)
- 等しい (equals)
- 等しくない (notEquals)
- 一致する (matches): /regex/ 形式の正規表現(オプションのフラグ g, i, m, y)
- 一致しない (notMatches): /regex/ 形式の正規表現(オプションのフラグ g, i, m, y)
- で始まる (startsWith)
3. 値を入力します。
4. 必要に応じて、「条件を追加」をクリックして、AND 論理演算子で結合された複数の条件を追加します。
トリガー
スニペットを作成しテンプレートを選択すると、選択したテンプレートに応じて利用可能なトリガーの一覧が表示されます。以下は利用可能なトリガーの完全なリスト、その動作方法、およびどのテンプレートで使用できるかの説明です。
要素が表示される
このトリガーは、ページ読み込み時に要素が表示されている場合、またはページ閲覧中に要素が表示されるようになった場合にテンプレートを実行できます。
以下のテンプレートで利用可能
- Artificial Pageview
- カスタムエラー
- 動的変数
- ページイベント
使い方
構成
トリガーは、検出したい要素の可視性を参照するための1つ以上のカンマ区切りのCSSセレクタと、その検出頻度を使用して定義されます。
仕組み
トリガーはIntersectionObserver APIを使用して、要素がビューポート(ブラウザウィンドウ)内で可視になるタイミングを検出します。これは、要素がスクロールで表示される場合、ポップアップとして表示される場合、または重なり合う要素(ページ上のタブ付きコンテンツのような)から選択される場合などが含まれます。
- トリガーはContentsquareタグが最初に読み込まれたときにページロード時に実行され、対象の要素が存在するかどうかを確認します。見つかった場合、要素が可視になるかどうかを検出するために監視を開始します。
- ページが最初に読み込まれた時点で対象の要素がすでに可視である場合、トリガーは発火しません。これらは無視されます。
- トリガーはMutationObserverにも登録されているため、セレクタに一致する新たに追加されたノードの可視性も検出します。
- トリガーには、与えられた「自然な」ページロード(サーバーから新しいページが要求されたとき)でトリガーを一度だけ発火させるか複数回発火させるかを指定する2つの設定があります:
- セレクタに一致する要素がビューポート内で可視になるたびにトリガーを発火させる
- 特定のページで複数の要素に対してトリガーを発火させたい場合、または対象のページがシングルページアプリケーション(SPA)である場合は、この設定を選択することを推奨します。
- セレクタに一致する要素がビューポート内で可視になる場合、ページビューごとに最大1回だけトリガーを発火させる。
- セレクタに一致する要素がビューポート内で可視になるたびにトリガーを発火させる
制限事項
- Element Becomes Visibleは、ネストされた要素(子要素および子孫要素)の可視性をチェックしません。
-
background-colorCSSプロパティによって可視化された要素は可視とはみなされません:要素に見えないテキストがあり、背景が見える場合、その要素は不可視として扱われます。
Element Exists
このトリガーは、Contentsquareタグがページで実行されるときに特定の要素が存在する場合、またはその後いつでもDOMに挿入された場合にテンプレートを実行することを可能にします。Element Existsはタグが読み込まれた瞬間に要素の存在をチェックし、その後もDOMを監視し続け(Element Insertionと同じ基盤の仕組みを使用)、後から要素が追加される場合も検出します。つまり、要素がすでに存在する場合と後から現れる場合の両方をカバーします。
以下のテンプレートで利用可能
- Custom Error
- Dynamic Variable
- Page Event
警告
「読み込み時にすでに存在する」チェックは一度だけ実行されます — ページでContentsquareタグが初めて読み込まれたときのみです。後の仮想ページビューでは繰り返されません。SPAやArtificial Pageviewsを使用しているページでは、セレクタがSPAナビゲーションを通じてDOMに残る要素(そのナビゲーションによって新たにレンダリングされるのではなく)に一致する場合、Element Existsはその後のビューで再度発火しません。たとえその要素が表示されていてもです。
この初期チェックは新しいページビューが内部的に完全に登録される前に実行されるため、まれにナビゲーション中に発火した場合、その結果のイベントは新しいページビューではなく前のページビューに帰属する可能性があります。
対照的に、SPAナビゲーションの一部としてDOMに新たに挿入される要素(たとえば新しいビューによってレンダリングされるもの)は、すべてのページビューで正しく検出され、正しいページビューに帰属します — これは検出がElement Insertionと同じ挿入監視メカニズムを通じて行われるためであり、一度きりの読み込みチェックではありません。
サイトがSPAナビゲーションまたはArtificial Pageviewsを使用している場合は、代わりに以下のトリガーのいずれかを使用してください:
- After Pageview: ページ読み込み時に要素がすでに存在している場合に使用します。Element Existsとは異なり、これは自然なページビューでも人工的なページビューでも毎回新たに再評価されるため、最初の読み込み時だけでなく各新しいビューで存在する要素を正しく検出します。ほとんどのSPAユースケースで推奨されるデフォルトです。
- Element Insertion: ページ読み込み後に要素が追加される場合(たとえば非同期呼び出しによってレンダリングされる場合)に使用します。より正確で重複イベントを避けられます。
注意: 同じテンプレートで同じセレクタに対してElement ExistsとElement Insertionの両方を構成しないでください。Element ExistsはElement Insertionと同じ方法で挿入を監視しているため、両方を組み合わせると同じDOM挿入に対して両方が発火し、単一の発生に対して重複イベントが発生します。要素がページ読み込み時にすでに存在するか後で挿入される可能性がある場合は、Element Existsだけで十分です。
使い方
構成
トリガーは、検出したい要素を参照する1つ以上のカンマ区切りのCSSセレクタを使用して定義されます。
動作の仕組み
- トリガーはページ読み込み時にContentsquareタグが読み込まれたときに実行されます。
- トリガーは
document.querySelector()メソッドを使用して指定された要素の存在をチェックします。 - ターゲット要素を参照する
${element}変数はInterpolation機能からアクセス可能です。- たとえば、いくつかのスニペット(ページイベント、動的変数など)の値フィールドで
${element.textContent}を使用してそのテキストを取得できます。
- たとえば、いくつかのスニペット(ページイベント、動的変数など)の値フィールドで
Element Insertion
このトリガーは、Contentsquareタグがページで読み込まれた後(初期ページ読み込み後)に要素がDOMに挿入されたときにテンプレートを実行できるようにします。これらの変更を検出するためにMutationObserverインターフェースを利用しています。
以下のテンプレートで利用可能です
- Artificial Pageview
- カスタムエラー
- 動的変数
- ページイベント
使い方
構成
トリガーは、検出したい要素の追加/挿入を参照するための1つ以上のカンマ区切りのCSSセレクタと、その頻度を使用して定義されます。
動作方法
- トリガーはMutationObserverに登録され、挿入されたノードが指定されたセレクタに一致するかどうかをチェックします。
- Element Existsトリガーとは異なり、このトリガーはページロード時にContentsquareタグが最初に実行された時点で既に存在する要素にはトリガーされません。
- トリガーには、サーバーから新しいページがリクエストされた「自然な」ページロード時にトリガーを一度だけ発火させるか、複数回発火させるかを指定する2つの設定があります:
- ページビューごとに一度
- ページビュー内で要素が挿入されるたびに
- 特定のページで複数の要素に対してトリガーしたい場合や、そのページがシングルページアプリケーション(SPA)の場合は、この設定を選択することを推奨します。
-
${element}変数は対象要素を参照し、Interpolation機能からアクセス可能です。- 例えば、いくつかのスニペット(ページイベント、動的変数など)の
valueフィールドで${element.textContent}を使用して、そのテキストを取得できます。
- 例えば、いくつかのスニペット(ページイベント、動的変数など)の
要素の削除
このトリガーは、Contentsquareタグがページに読み込まれた後(初期ページロード後)にDOMから要素が削除されたときにテンプレートを実行することを可能にします。これらの変更を検出するためにMutationObserverインターフェースを利用しています。
以下のテンプレートで利用可能
- Artificial Pageview
- カスタムエラー
- 動的変数
- ページイベント
使い方
構成
トリガーは、削除を検出したい要素を参照するために、1つ以上のカンマ区切りのCSSセレクタを使用して定義されます。
仕組み
- トリガーはMutationObserverに登録され、削除されたノードが指定されたセレクタに一致するかどうかをチェックします。
-
${element}変数は対象要素を参照し、Interpolation機能からアクセス可能です。- 例えば、いくつかのスニペット(Page Event、Dynamic Variableなど)のvalueフィールドで
${element.textContent}を使ってテキストを取得できます。
- 例えば、いくつかのスニペット(Page Event、Dynamic Variableなど)のvalueフィールドで
要素のクリックまたはタップ
このトリガーは、指定された要素のクリックまたはタップに基づいてテンプレートを実行することを可能にします。
以下のテンプレートで利用可能
- Artificial Pageview
- Custom Error
- Dynamic Variable
- Page Event
使い方
構成
トリガーは、クリックまたはタップを検出したい要素を参照するために、1つ以上のカンマ区切りのCSSセレクタを使用して定義されます。
仕組み
- トリガーはクリックイベントに依存しています。
-
${element}変数は対象要素を参照し、Interpolation機能からアクセス可能です。- 例えば、いくつかのスニペット(Page Event、Dynamic Variableなど)のvalueフィールドで
${element.textContent}を使ってテキストを取得できます。
- 例えば、いくつかのスニペット(Page Event、Dynamic Variableなど)のvalueフィールドで
Before Pageview
このトリガーは、新しいContentsquareのpageviewが発火する直前にテンプレートを実行することを可能にします。
以下のテンプレートで利用可能
- Custom Variable
- Dynamic Variable
- Element Masking
- Element Unmasking
- Network Requests - Mask URLs
- Page Event
使い方
構成
Contentsquareは2種類のページビューを区別しており、このスニペットではユースケースに応じてどちらか一方または両方で実行するかを選択できます:
- ナチュラル - サーバーからのGET/POSTリクエストとレスポンスの後に「最初から」ページが読み込まれる場合。これはほとんどのウェブサイトの構築方法です。通常、Contentsquareタグは追跡したいすべてのページに挿入され、ページが読み込まれてレンダリングされるとページビューを発火します。
- アーティフィシャル - シングルページアプリケーション(ウェブサイト全体または特定の訪問者フロー)上の訪問者ジャーニーを個別のページ/ステップに「分解/分割」するために設計されています。モーダルポップアップやその他の顧客体験をより詳細なジャーニー分析およびレポートのために明確なステップとして指定することもできます。
動作方法
- 新しいページビューがContentsquareに送信される直前にトリガーされます。
- このトリガーは、次のページビューが発火する前に設定する必要があるカスタム変数に特に有用で、それに正しく関連付けられます。
- また、すべてのマスキング/アンマスキングテンプレートで利用可能な唯一のトリガーでもあり、これらも最初の「ナチュラル」ページビューの前に設定する必要があります。
トリガー条件のガイドライン
マスキング目的で使用する場合は、マスキングCSSセレクタがメインのCSタグが読み込まれる前に設定されるように、このトリガーを必ず「すべてのページ」で発火するように設定してください。カスタムトリガー条件は、カスタム変数のようなマスキング以外のテンプレートに使用できます。
フォーム提出
このトリガーは、フォームが提出されるタイミングでテンプレートを実行することを可能にします。
以下のテンプレートで利用可能
- アーティフィシャルページビュー
- 動的変数
- ページイベント
使い方
構成
トリガーは、提出を検出したい<form>要素を参照するCSSセレクタを使用して定義されます。
動作方法
トリガーは、<form>が提出されたときに発火するsubmitイベントを監視しています。
ページビュー後
このトリガーは、任意の種類の新しいContentsquareページビューが発火した直後にテンプレートを実行することを可能にします。
以下のテンプレートで利用可能
- 動的変数
- ページイベント
動作方法
Contentsquareは3種類のページビューを区別します:
- ナチュラルページビュー - サーバーからのGET/POSTリクエストとレスポンス後にページが「最初から」読み込まれたとき。これはほとんどのウェブサイトの構築方法です。通常、Contentsquareタグは追跡したいすべてのページに挿入され、ページが読み込まれてレンダリングされるとページビューを発火します。
- 人工ページビュー - シングルページアプリケーション(ウェブサイト全体または特定の訪問者フロー)上の訪問者ジャーニーを個別のページ/ステップに「分解/分割」するために設計されています。また、モーダルポップアップやその他のユーザー体験をより詳細なジャーニー分析およびレポートのために明確なステップとして指定するためにも使用できます。
- リニューアルページビュー - ページ/タブで30分以上のアイドル時間後にセッションが終了し、その後ページが再度操作されると再開される場合。このタイプで新しい訪問者セッションが作成され、新しいページビューが送信されます。
ハッシュ変更
このトリガーは、URLフラグメント(#文字の後のURLの部分)が変更されたときにテンプレートを実行することを可能にします。
以下のテンプレートで利用可能
- 人工ページビュー
- 動的変数
- ページイベント
履歴変更
このトリガーは、履歴オブジェクトの変更によってURLが変更されたときにテンプレートを実行することを可能にします。
以下のテンプレートで利用可能
- 人工ページビュー
- 動的変数
- ページイベント
使い方
構成
- トリガーは、スニペットを起動させたい履歴変更の組み合わせを選択できます:
- pushState - シングルページアプリケーション内でURLを変更しつつ、前のURLを保持して戻るナビゲーションを可能にするメソッド。
- replaceState - シングルページアプリケーション内でURLを変更しつつ、前のURLを上書きして戻るナビゲーションを防止するメソッド。
- popstate - ブラウザの戻るボタンを使用したときに発火するイベント。
- hashchange - URLのフラグメント識別子が変更されたときに発火するイベント。
- さらに、複数の履歴変更が短時間に連続して発生した場合に複数回のトリガーを防ぐため、デバウンスウィンドウ(最大400ms)を定義できます。デバウンスされた履歴変更トリガーは最後のイベントのみを考慮し、最初のイベントはスキップします。つまり、デバウンスされたイベントは実際のイベント発生から最大400ms後に発火します。
動作の仕組み
トリガー発火前に、新しいURLが移動元のURLと異なるかを確認し、新旧のURLが同じでない場合にのみ発火します。
リスナーの選択
- URL変更を伴うシングルページウェブサイト(またはそのセクション)でArtificial Pageviewsに使用する場合の推奨組み合わせはpushState + popstateです。
- replaceStateを含めると不要なトリガーが発生し、追加のArtificial pageviewsが発火する可能性があります。
Mouseover
このトリガーは、訪問者が指定した要素にマウスをホバーしたときにテンプレートを実行することを可能にします。
以下のテンプレートで利用可能
- Artificial Pageview
- カスタムエラー
- 動的変数
- ページイベント
使い方
構成
トリガーは、ホバーを検出したい要素を参照するために、1つ以上のカンマ区切りのCSSセレクタを使用して定義します。
動作の仕組み
- トリガーは
mouseoverイベントに依存しています。 - また、ホバーされた要素が選択された要素の内部にネストされているかを確認するために
element.closestメソッドを使用し、単一のホバーで複数回トリガーされるのを防ぎます。