えびすマート:店舗テンプレートの編集(dataLayerの設定)

 

まず、えびすマート店舗から、Googleタグマネージャーへデータを送信するためのタグを設置します。

 

購入完了ページの編集

購入完了ページから購入時の情報を送信するためのタグを記入します。

えびすマート管理画面トップ>画像・テンプレート>テンプレート管理をクリックします。

サーバーフォルダツリーから、view>userweb>cart_result.xhtml を選択します。

 

<iframe m:id='common.IMPORT_HERE' src="common/header_cart.xhtml" frameborder="0" scrolling="no" width="100%" onload="resize_iframe(this)"></iframe>

と書かれた行(スクリーンショット内青色で囲んだ部分)の上(赤色で囲んだ部分)に、以下のタグを貼り付けます。 


<script type="text/javascript">
var hidden_data_form = document.getElementsByName('HIDDEN_DATA_FORM')[0].childNodes;
var hidden = new Array(hidden_data_form.length);
for (var i = 0;i<hidden_data_form.length;i++){
hidden[i] = hidden_data_form[i]
}
var member_id = hidden.filter(function (element) {
return element.name === 'MEMBER_ID';
});
var transaction_id = hidden.filter(function (element) {
return element.name === 'ORDER_NO';
});
var all_amount = hidden.filter(function (element) {
return element.name === 'ALL_AMOUNT';
});
var shipping = hidden.filter(function (element) {
return element.name === 'SORYO';
});
var revenue_without_shipping = hidden.filter(function (element) {
return element.name === 'SYOKEI';
});
var revenue = hidden.filter(function (element) {
return element.name === 'GOKEI';
});

var item_names = hidden.filter(function (element) {
return element.name === 'ITEM_NAME';
});
var item_cds = hidden.filter(function (element) {
return element.name === 'ITEM_CD';
});
var item_amounts = hidden.filter(function (element) {
return element.name === 'ITEM_AMOUNT';
});
var item_syokeis = hidden.filter(function (element) {
return element.name === 'ITEM_SYOKEI';
});
var item_teikas = hidden.filter(function (element) {
return element.name === 'ITEM_TEIKA';
});
var item_member_discounts = hidden.filter(function (element) {
return element.name === 'ITEM_MEMBER_DISCOUNT';
});

var items = [];
for (var i = 0; i < item_cds.length; i++){
item = {
item_cd: item_cds[i].value,
name: item_names[i].value,
item_amount: item_amounts[i].value - 0,
item_teika: item_teikas[i].value - 0,
item_syokei: item_syokeis[i].value - 0,
item_member_discount: item_member_discounts[i].value - 0
}
items.push(item)
}
if (typeof dataLayer === 'undefined'){
dataLayer = [];
}
dataLayer.push({
buy:
{
transaction_id: transaction_id[0].value,
revenue: revenue[0].value - 0,
all_amount: all_amount[0].value - 0,
shipping: shipping[0].value - 0,
revenue_without_shipping: revenue_without_shipping[0].value - 0,
items: items
}
});
</script>

 

 

カートページヘッダの編集

サーバーフォルダツリーから、view>userweb>common>cart_header.xhtml を選択します。

 

Googleタグマネージャーのスニペット(青色で囲んだ部分)の上に以下のタグを記入します。


<div id="user_id" hidden><p m:id="common.MEMBER_ID_HERE"></p></div>
<div id="name" hidden><p m:id="common.MEMBER_NAME_HERE"></p></div>
<div id="birth_year" hidden><p m:id="common.BIRTH_YEAR_HERE"></p></div>
<div id="birth_month" hidden><p m:id="common.BIRTH_MONTH_HERE"></p></div>
<div id="birth_day" hidden><p m:id="common.BIRTH_DAY_HERE"></p></div>
<div id="rank_name" hidden><p m:id="common.MEMBER_RANK_NAME_HERE"></p></div>
<div id="nickname" hidden><p m:id="common.MEMBER_NICKNAME_HERE"></p></div>
<div id="point" hidden><p m:id="common.POINT_HERE"></p></div>

<script type="text/javascript">
var user_id = document.getElementById('user_id').innerText;
var name = document.getElementById('name').innerText;
var birth_year = document.getElementById('birth_year').innerText;
var birth_month = document.getElementById('birth_month').innerText;
var birth_day = document.getElementById('birth_day').innerText;
var rank_name = document.getElementById('rank_name').innerText;
var nickname = document.getElementById('nickname').innerText;
var point = document.getElementById('point').innerText;

if (typeof dataLayer === 'undefined'){
dataLayer = [];
}

dataLayer.push({
user:
{
user_id: user_id,
name: name,
birth_year:birth_year-0,
birth_month:birth_month-0,
birth_day:birth_day-0,
rank_name:rank_name,
nickname:nickname,
point:point-0
}
});
</script>

以上で店舗側タグの編集は終了です。

続いてGoogleタグマネージャー側の設定を行ってください