質問編集履歴
2
コメントを削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,27 +20,23 @@
|
|
20
20
|
|
21
21
|
return function(model) {
|
22
22
|
|
23
|
-
var userID = {{user ID}};
|
23
|
+
var userID = {{user ID}};
|
24
24
|
|
25
25
|
if(userID == '') {
|
26
26
|
|
27
27
|
userID = 0;
|
28
28
|
|
29
|
-
// nullを返してもLambdaで展開したときに`NULL`(string)になりAthenaで引っかかるため。
|
30
|
-
|
31
|
-
// 空文字の代わりに0をいれる
|
32
|
-
|
33
29
|
}
|
34
30
|
|
35
|
-
var actionEvent = {{event}};
|
31
|
+
var actionEvent = {{event}};
|
36
32
|
|
37
|
-
var elementId = {{Click ID}};
|
33
|
+
var elementId = {{Click ID}};
|
38
34
|
|
39
|
-
var element = {{Click Element}};
|
35
|
+
var element = {{Click Element}};
|
40
36
|
|
41
|
-
var elementTagName = element.tagName;
|
37
|
+
var elementTagName = element.tagName;
|
42
38
|
|
43
|
-
var elementClasses = {{Click Classes}};
|
39
|
+
var elementClasses = {{Click Classes}};
|
44
40
|
|
45
41
|
var ancestorsClasses = '[' + elementClasses + ']';
|
46
42
|
|
@@ -66,7 +62,7 @@
|
|
66
62
|
|
67
63
|
if(elementTagName == 'A' || elementTagName == 'BUTTON' || elementTagName == 'SPAN') {
|
68
64
|
|
69
|
-
clickText = {{Click Text}};
|
65
|
+
clickText = {{Click Text}};
|
70
66
|
|
71
67
|
}
|
72
68
|
|
1
タグ変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,3 +7,91 @@
|
|
7
7
|
もし可能でしたら、同じ現象を回避するために、根本原因(何かのキャッシュでしょうか?)も教えていただきたいです。
|
8
8
|
|
9
9
|
よろしくお願いします。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
GTMカスタム変数定義部分
|
16
|
+
|
17
|
+
```
|
18
|
+
|
19
|
+
function() {
|
20
|
+
|
21
|
+
return function(model) {
|
22
|
+
|
23
|
+
var userID = {{user ID}}; //ユーザーID
|
24
|
+
|
25
|
+
if(userID == '') {
|
26
|
+
|
27
|
+
userID = 0;
|
28
|
+
|
29
|
+
// nullを返してもLambdaで展開したときに`NULL`(string)になりAthenaで引っかかるため。
|
30
|
+
|
31
|
+
// 空文字の代わりに0をいれる
|
32
|
+
|
33
|
+
}
|
34
|
+
|
35
|
+
var actionEvent = {{event}}; //アクションイベント
|
36
|
+
|
37
|
+
var elementId = {{Click ID}}; //ID要素
|
38
|
+
|
39
|
+
var element = {{Click Element}}; //HTML要素
|
40
|
+
|
41
|
+
var elementTagName = element.tagName; //タグ名
|
42
|
+
|
43
|
+
var elementClasses = {{Click Classes}}; //クラス要素
|
44
|
+
|
45
|
+
var ancestorsClasses = '[' + elementClasses + ']';
|
46
|
+
|
47
|
+
var loopIds = '[' + element.getAttribute('data-loopid') + ']';
|
48
|
+
|
49
|
+
var parentElement = element.parentElement;
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
while (parentElement && parentElement !== document.body) {
|
54
|
+
|
55
|
+
ancestorsClasses = '[' + parentElement.className + ']_' + ancestorsClasses;
|
56
|
+
|
57
|
+
loopIds = '[' + parentElement.getAttribute('data-loopid') + ']_' + loopIds;
|
58
|
+
|
59
|
+
parentElement = parentElement.parentElement;
|
60
|
+
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
var clickText = null;
|
66
|
+
|
67
|
+
if(elementTagName == 'A' || elementTagName == 'BUTTON' || elementTagName == 'SPAN') {
|
68
|
+
|
69
|
+
clickText = {{Click Text}}; //内部テキスト。要素名がa, button, spanの時のみ返却する
|
70
|
+
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
var ariaLabel = element.getAttribute('aria-label');
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
var xhr = new XMLHttpRequest();
|
82
|
+
|
83
|
+
var webBeaconUrl = '' //ここでcroudFrontのビーコンを設定
|
84
|
+
|
85
|
+
var sendActionDatalog = 'test'
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
xhr.open('GET', webBeaconUrl + '?' +sendActionDatalog, true);
|
90
|
+
|
91
|
+
xhr.send(null);
|
92
|
+
|
93
|
+
};
|
94
|
+
|
95
|
+
}
|
96
|
+
|
97
|
+
```
|