回答編集履歴

3

修正

2017/08/18 05:08

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -5,6 +5,8 @@
5
5
  全てにga()を埋め込むより楽なはず(たぶん)
6
6
 
7
7
 
8
+
9
+ # 全てのaのクリックを拾い、非対称リンクはフラグで判断する
8
10
 
9
11
  ```html
10
12
 
@@ -62,8 +64,6 @@
62
64
 
63
65
  ga('send', 'event', category, action, label, value, {'nonInteraction': non});
64
66
 
65
-
66
-
67
67
  }
68
68
 
69
69
  });
@@ -81,6 +81,8 @@
81
81
  ga()を入れたくないaもあるケースも加味し、data-gaとしてフラグを持たせました。
82
82
 
83
83
 
84
+
85
+ # 対象のaには特定のクラスを付与する
84
86
 
85
87
  もし対象のaが決まっているのであれば適当なクラス名を対象のaに付与し、下記のようにしても良いと思います。
86
88
 
@@ -118,13 +120,25 @@
118
120
 
119
121
  $("a.hoge").on("click", function() {
120
122
 
123
+ var category = $(this).data("category");
124
+
125
+ var action = $(this).data("action");
126
+
127
+ var label = $(this).data("label");
128
+
129
+ var value = $(this).data("value");
130
+
131
+ var non = $(this).data("non");
132
+
121
133
  ```
122
134
 
123
- ※この場合は「対象のリンクのみ」という縛りが最初から入りますのでga()利用を判断するdata-gaの設定と取得・if文部分は不要す。
135
+ ※この場合は「対象のリンクのみ」という縛りが最初から入りますのでga()利用を判断するdata-gaの設定と取得・if文部分は不要となります。
124
136
 
125
137
 
126
138
 
127
- 追記:
139
+ # 追記:data属性を1つにまとめる
140
+
141
+
128
142
 
129
143
  data属性が何個も出てきて冗長に感じるのであれば、1つにまとめてセパレータをかますのもありです。
130
144
 
@@ -138,7 +152,7 @@
138
152
 
139
153
  $("a.hoge").on("click", function() {
140
154
 
141
- var info= $(this).data("info").split("1");
155
+ var info= $(this).data("info").split("|");
142
156
 
143
157
  var category = info[0];
144
158
 

2

追記

2017/08/18 05:08

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -9,8 +9,6 @@
9
9
  ```html
10
10
 
11
11
  <a href="#" data-category="category01"
12
-
13
- data-category="category01"
14
12
 
15
13
  data-action="action01"
16
14
 
@@ -27,8 +25,6 @@
27
25
 
28
26
 
29
27
  <a href="#" data-category="category02"
30
-
31
- data-category="category02"
32
28
 
33
29
  data-action="action02"
34
30
 
@@ -92,8 +88,6 @@
92
88
 
93
89
  <a href="#" data-category="category01"
94
90
 
95
- data-category="category01"
96
-
97
91
  data-action="action01"
98
92
 
99
93
  data-label="label01"
@@ -109,8 +103,6 @@
109
103
 
110
104
 
111
105
  <a href="#" data-category="category02"
112
-
113
- data-category="category02"
114
106
 
115
107
  data-action="action02"
116
108
 
@@ -129,3 +121,35 @@
129
121
  ```
130
122
 
131
123
  ※この場合は「対象のリンクのみ」という縛りが最初から入りますのでga()利用を判断するdata-gaの設定と取得・if文部分は不要です。
124
+
125
+
126
+
127
+ 追記:
128
+
129
+ data属性が何個も出てきて冗長に感じるのであれば、1つにまとめてセパレータをかますのもありです。
130
+
131
+ ```html
132
+
133
+ <a href="#" data-info="category01|action01|label01|value01|1" class="hoge">テキスト1</a>
134
+
135
+ ```
136
+
137
+ ```javascript
138
+
139
+ $("a.hoge").on("click", function() {
140
+
141
+ var info= $(this).data("info").split("1");
142
+
143
+ var category = info[0];
144
+
145
+ var action = info[1];
146
+
147
+ var label = info[2];
148
+
149
+ var value = info[3];
150
+
151
+ var non = info[4];
152
+
153
+
154
+
155
+ ```

1

修正

2017/08/18 05:02

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -84,10 +84,48 @@
84
84
 
85
85
  ga()を入れたくないaもあるケースも加味し、data-gaとしてフラグを持たせました。
86
86
 
87
+
88
+
87
89
  もし対象のaが決まっているのであれば適当なクラス名を対象のaに付与し、下記のようにしても良いと思います。
90
+
91
+ ```html
92
+
93
+ <a href="#" data-category="category01"
94
+
95
+ data-category="category01"
96
+
97
+ data-action="action01"
98
+
99
+ data-label="label01"
100
+
101
+ data-value="value01"
102
+
103
+ data-non="1" class="hoge">テキスト1</a>
104
+
105
+
106
+
107
+ <a href="#" >テキスト2</a>
108
+
109
+
110
+
111
+ <a href="#" data-category="category02"
112
+
113
+ data-category="category02"
114
+
115
+ data-action="action02"
116
+
117
+ data-label="label02"
118
+
119
+ data-value="value02"
120
+
121
+ data-non="2" class="hoge">テキスト3</a>
122
+
123
+ ```
88
124
 
89
125
  ```javascript
90
126
 
91
127
  $("a.hoge").on("click", function() {
92
128
 
93
129
  ```
130
+
131
+ ※この場合は「対象のリンクのみ」という縛りが最初から入りますのでga()利用を判断するdata-gaの設定と取得・if文部分は不要です。