お世話になります。
buy buttonをWordPressに張り付けています。
(shopify ベーシックプラン)
Googelアナリティクス上でボタンを押すところでセッションが切れてしまい
CVに至った人の集客要素やサイト内での行動を見ることができません。
(いきなりボタン後のカート内のページがLP /Direct ということになる)
本国の記事なども調べたのですが
ここをスルーして計測することはできないようなので、
せめて「buy buttonを押す」行為をイベント計測できないかなど
どうにか購入に至ったユーザーのことや行動を知りたいです。
完全でなくてもかまいません。
何か方法やアイデアをお持ちの方はいらっしゃいますでしょうか?
ご連絡ありがとうございます。
確認が遅くなってしまい申し訳ございません。
例にあげていただいた内容は確かに類似しているかもしれません。
残念ながら回答に対して返信されていないので
おそらくこの回答で解決には至っていないものと思います。
事象としてはbuy buttonを押した時点(カートにいれる等のアクション)から
GA上では新しいセッションとなり、Shopify階層にランディングしたとされるので、
その前の流入情報が切れてしまいます。例にあげていただいた方も私もそこが課題と感じているという点では共通です。
セッションが継続される中の遷移先の捉え方であればクロスドメインで拾えそうですし
buy buttonの仕組みがaタグのリンクであれば、パラメもふれそうな気はします。
せめてボタンを動作したことが、GTMなどでイベント計測できればと思っていますが
Shopify Plusではないので中途半端になる可能性もあります。
みたいなことから、GA側での設定では難しいと判断して、
ダメ元でこちらに伺った次第です。
やっぱりむずかしそうですね。
いろいろとお調べいただきありがとうございます。
お手数をおかけいたしました。
確認いただきありがとうございます。
役に立たない情報となり申し訳ありません。
なお、既にご確認されていたり的外れの可能性はありますが、一応他に目にしたURLを以下に記載したいと思います。
https://docs.wpshop.io/#/getting-started/features?id=cross-domain-tracking-pro-only
※WPのプラグインですが、有料版にてトラッキング可能とあったので調査の手掛かりになる可能
https://googletagmanagersolution.com/shopify-cross-domain-with-buy-button/
※設定方法?
■Buy Button 設置サイトでのボタンクリック計測
Shopifyの管理画面で得たコードのまま用いている場合はiframe内の要素のイベント検知が必要になりますが、この場合は検索で出てくる方法などで実現できるかもしれません(未確認)。
一方、optionsのcartで iframe: false にしてiframeを使わない表示形式にすれば、表示が崩れてCSSを当て直す必要はあるものの、クリックの検知は可能でした。
添付画像のようにタグマネージャーのプレビューで確認したものの実際に購入テストまでは行っていないので、実際に試すにしてもいろいろ調査や確認が必要かとは思いますが。
参考:
https://shopify.github.io/buy-button-js/customization/
※iframeの項目を参照のこと
以上です。
今回もあまり役に立たないか趣旨が違う回答となっていましたら申し訳ありません。
すみません、一点失念していた事柄がありましたので補足として投稿させていただきます。
https://shopify.github.io/buy-button-js/customization/
上記ページ下部のDOMEventsのところに以下の記述がありました。
こちらをお伝えするのが筋だったかもと…。今更ですが念のため記載する次第です。
Binds custom events to DOM nodes by selector. Format is ‘eventName selector’: callback.
Example:
var product = {
DOMEvents: {
'click .button': function (event) {
myAnalyticsLibrary.track()
}
}
}
DOM nodes are selected using querySelectorAll, so a valid selector must be provided. If you are binding to a class from the classes object (as is recommended), the string may contain spaces and will not start with a dot, so you will need to format it appropriately:
var DOMEVents = {
[`click .${this.classes.product.button.split(' ').join('.')}`]: myCallback
}