質問編集履歴

2

コメントを削除

2019/11/08 08:39

投稿

thomas21
thomas21

スコア10

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}}; //ユーザー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}}; //ID要素
33
+ var elementId = {{Click ID}};
38
34
 
39
- var element = {{Click Element}}; //HTML要素
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}}; //内部テキスト。要素名がa, button, spanの時のみ返却する
65
+ clickText = {{Click Text}};
70
66
 
71
67
  }
72
68
 

1

タグ変更

2019/11/08 08:39

投稿

thomas21
thomas21

スコア10

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
+ ```