質問編集履歴
2
コメントを削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,17 +9,15 @@
|
|
9
9
|
```
|
10
10
|
function() {
|
11
11
|
return function(model) {
|
12
|
-
var userID = {{user ID}};
|
12
|
+
var userID = {{user ID}};
|
13
13
|
if(userID == '') {
|
14
14
|
userID = 0;
|
15
|
-
// nullを返してもLambdaで展開したときに`NULL`(string)になりAthenaで引っかかるため。
|
16
|
-
// 空文字の代わりに0をいれる
|
17
15
|
}
|
18
|
-
var actionEvent = {{event}};
|
16
|
+
var actionEvent = {{event}};
|
19
|
-
var elementId = {{Click ID}};
|
17
|
+
var elementId = {{Click ID}};
|
20
|
-
var element = {{Click Element}};
|
18
|
+
var element = {{Click Element}};
|
21
|
-
var elementTagName = element.tagName;
|
19
|
+
var elementTagName = element.tagName;
|
22
|
-
var elementClasses = {{Click Classes}};
|
20
|
+
var elementClasses = {{Click Classes}};
|
23
21
|
var ancestorsClasses = '[' + elementClasses + ']';
|
24
22
|
var loopIds = '[' + element.getAttribute('data-loopid') + ']';
|
25
23
|
var parentElement = element.parentElement;
|
@@ -32,7 +30,7 @@
|
|
32
30
|
|
33
31
|
var clickText = null;
|
34
32
|
if(elementTagName == 'A' || elementTagName == 'BUTTON' || elementTagName == 'SPAN') {
|
35
|
-
clickText = {{Click Text}};
|
33
|
+
clickText = {{Click Text}};
|
36
34
|
}
|
37
35
|
|
38
36
|
var ariaLabel = element.getAttribute('aria-label');
|
1
タグ変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,4 +2,48 @@
|
|
2
2
|
GTMのコンソールでカスタム変数を更新したのですが、古いバージョンが結果に残ったままです。
|
3
3
|
これらのせいでプログラムがうまく動かないので、除去する必要があります。
|
4
4
|
もし可能でしたら、同じ現象を回避するために、根本原因(何かのキャッシュでしょうか?)も教えていただきたいです。
|
5
|
-
よろしくお願いします。
|
5
|
+
よろしくお願いします。
|
6
|
+
|
7
|
+
|
8
|
+
GTMカスタム変数定義部分
|
9
|
+
```
|
10
|
+
function() {
|
11
|
+
return function(model) {
|
12
|
+
var userID = {{user ID}}; //ユーザーID
|
13
|
+
if(userID == '') {
|
14
|
+
userID = 0;
|
15
|
+
// nullを返してもLambdaで展開したときに`NULL`(string)になりAthenaで引っかかるため。
|
16
|
+
// 空文字の代わりに0をいれる
|
17
|
+
}
|
18
|
+
var actionEvent = {{event}}; //アクションイベント
|
19
|
+
var elementId = {{Click ID}}; //ID要素
|
20
|
+
var element = {{Click Element}}; //HTML要素
|
21
|
+
var elementTagName = element.tagName; //タグ名
|
22
|
+
var elementClasses = {{Click Classes}}; //クラス要素
|
23
|
+
var ancestorsClasses = '[' + elementClasses + ']';
|
24
|
+
var loopIds = '[' + element.getAttribute('data-loopid') + ']';
|
25
|
+
var parentElement = element.parentElement;
|
26
|
+
|
27
|
+
while (parentElement && parentElement !== document.body) {
|
28
|
+
ancestorsClasses = '[' + parentElement.className + ']_' + ancestorsClasses;
|
29
|
+
loopIds = '[' + parentElement.getAttribute('data-loopid') + ']_' + loopIds;
|
30
|
+
parentElement = parentElement.parentElement;
|
31
|
+
}
|
32
|
+
|
33
|
+
var clickText = null;
|
34
|
+
if(elementTagName == 'A' || elementTagName == 'BUTTON' || elementTagName == 'SPAN') {
|
35
|
+
clickText = {{Click Text}}; //内部テキスト。要素名がa, button, spanの時のみ返却する
|
36
|
+
}
|
37
|
+
|
38
|
+
var ariaLabel = element.getAttribute('aria-label');
|
39
|
+
|
40
|
+
|
41
|
+
var xhr = new XMLHttpRequest();
|
42
|
+
var webBeaconUrl = '' //ここでcroudFrontのビーコンを設定
|
43
|
+
var sendActionDatalog = 'test'
|
44
|
+
|
45
|
+
xhr.open('GET', webBeaconUrl + '?' +sendActionDatalog, true);
|
46
|
+
xhr.send(null);
|
47
|
+
};
|
48
|
+
}
|
49
|
+
```
|