[Google広告] サンキューページに合計金額表示なし。でも、コンバージョンでデータを送りたいときはsessionStorageをつかおう
6867 ワード
確認ページには金額あるのに、サンキューページには金額がない...。
でも、コンバージョンとして値は送りたい。
そんなあなたはsessionStorageを使いましょう。
(localStorageも使えます。が、sessionをまたいで保持する必要はないので)
・確認ページにて
// DOM要素なんかから合計金額を取得します。
let $total = document.querySelector('#hoge');
let priceStr;
if($total){
// DOM要素だったら、innerTextなんかで金額取りましょう。
priceStr = $total.innerText;
// "¥6,000"が"6000"に
priceStr = getPriceWOSymbols(priceStr);
} else {
// 値が取得できなければ、1
priceStr = '1';
}
// 金額のデータを保存 ("6000")
window.sessionStorage.setItem('price', priceStr);
/**
* 「¥」と「,」なしの金額を返します
* WO = without
* @param {string} priceStr
* @return {string}
*/
const getPriceWOSymbols= (priceStr)=>{
return priceStr.replace(/[^0-9]/g, '');
};
・サンキュページにて
<!--Global site tag (gtag.js) - Google Ads: XXXXXXXX-->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-766862767"><script/>
<script>
// Google広告のコード。ファーストパーティクッキーの生成
// リマーケティングタグとしても機能します。
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-XXXXXXXX');
</script>
<script>
// 保存しておいた金額のデータを取得。 ("6000")
let price = window.sessionStorage.getItem('price');
// sessionStorageにはstringでしか値を入れられないので、numberに直しましょう
// "6000" が 6000に
price = price && !isNaN(price) ? parseFloat(price) : 1;
// コンバージョンデータの送信
gtag('event', 'conversion', {
'send_to': 'AW-XXXXXXXX/XXXXXXXX',
'value': price, // ここに確認ページからもってきた値(数字の6000)が入ります!
'currency': 'JPY',
'transaction_id': someVariableForId // 省略可
});
</script>
以上です!
Author And Source
この問題について([Google広告] サンキューページに合計金額表示なし。でも、コンバージョンでデータを送りたいときはsessionStorageをつかおう), 我々は、より多くの情報をここで見つけました https://qiita.com/akiras7171/items/37f3712706bd1984eeb2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .