「埋め込み」アクションでは、指定した[埋め込み設定 > 埋め込み先CSSセレクタ]に対応する要素の存在チェックをアクションの配信時に実施します。
そのため、「埋め込み」アクションを配信した後で埋め込み先の要素がWebページ上に挿入される場合、「埋め込み」に失敗してしまいます。
次のいずれかの方法で対策してください。
A. 接客サービスの配信トリガーを変更して配信タイミングを遅らせる
「埋め込み」アクションを配信する接客サービスの配信トリガーを変更し、埋め込み先の要素がWebページ上に挿入された後で発生するイベントをトリガーに指定することで、「埋め込み」が成功するようになります。
B. アクションのJavaScriptをカスタマイズして表示タイミングを遅らせる
「埋め込み」アクションの[カスタマイズ > Script]からJavaScriptを次のようにカスタマイズすることで、「埋め込み」が成功するようになります。
// 埋め込み先CSSセレクタが #some_element_id である場合の実装例
var SELECTOR = '#some_element_id';
var count = 0;
var timer = setInterval(function() { // 100ms毎に要素の存在をチェック
var el = document.querySelector(SELECTOR);
if (el) {
clearInterval(timer);
widget.show();
}
count++;
if (count > 100) clearInterval(timer); // 10秒超えたら諦める
}, 100);
ただし、テンプレートを元にカスタマイズしたアクションについては、サポートの対象外となります。