いつもお世話になっております。
掲題、カート完了ページにて購入商品によってはeコマーストラッキングに正しく認識(送信)されないことがあるようでした。調べましたところ下記問題があるように思われました。
条件:
プラグイン「Google Analytics for WordPress by MonsterInsights(google-analytics-for-wordpress)」を使用していて、
フック関数
「usces_Universal_trackPageview_by_Yoast
」
「usces_Classic_trackPageview_by_Yoast
」
のいずれかが機能している場合に購入完了ページへ遷移。
両フック関数でeコマース用のスクリプト値を生成・返却をしておりますが、値を変数($push
)に格納する際のエスケープ処理が抜けてしまっているようです。この場合、値に「’(シングルクオート)」が含まれているとjsエラーとなってしまい正しく動作しないのが確認できました。
特に、
「get_option('blogname')
」「$sku
」「$itemName
」「$category
」
等の任意文字列が入るものではこの問題が起こりやすいと思われます。全値にesc_js()でのエスケープ処理を追加いただけますと幸いです。
こちらでも試しに「’」が入っている値にesc_js()
を通して完了ページ遷移をテストしてみたところ、正常にeコマース送信がされているのを確認できました。
ご多用中恐れ入りますが何卒ご確認お願い申し上げます。