factorial-pixel 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## `0.9.0`
4
+
5
+ Adds support for HubSpot Ads (HSA) parameters (hsa_ad, hsa_cam, hsa_grp, hsa_kw, hsa_mt, hsa_src, hsa_tgt).
6
+
3
7
  ## `0.8.0`
4
8
 
5
9
  Adds support for UTM parameters (utm_source, utm_medium, utm_campaign, utm_content, utm_term). UTM parameters are automatically extracted from the URL and sent to the pixel endpoint with proper URL encoding to handle special characters.
@@ -97,4 +97,36 @@ describe('pixelUrl', () => {
97
97
  )
98
98
  })
99
99
  })
100
+
101
+ describe('with HSA parameters', () => {
102
+ it('returns the data with all HSA params', () => {
103
+ html = "<!DOCTYPE html><html lang='en'></html>"
104
+ dom = new JSDOM(html, {
105
+ url: 'https://factorialhr.com/blog?hsa_cam=123456&hsa_grp=789012&hsa_ad=345678&hsa_src=google&hsa_mt=exact&hsa_kw=hr_software&hsa_tgt=901234'
106
+ })
107
+ expect(pixelUrl(dom.window.document)).toEqual(
108
+ '/internal/pixel?mc=&referer=&language=en&landing_page=https://factorialhr.com/blog&hsa_ad=345678&hsa_cam=123456&hsa_grp=789012&hsa_kw=hr_software&hsa_mt=exact&hsa_src=google&hsa_tgt=901234'
109
+ )
110
+ })
111
+
112
+ it('encodes HSA parameters with special characters', () => {
113
+ html = "<!DOCTYPE html><html lang='en'></html>"
114
+ dom = new JSDOM(html, {
115
+ url: 'https://factorialhr.com/blog?hsa_cam=123&hsa_kw=hr%20software%20%23best'
116
+ })
117
+ expect(pixelUrl(dom.window.document)).toEqual(
118
+ '/internal/pixel?mc=&referer=&language=en&landing_page=https://factorialhr.com/blog&hsa_cam=123&hsa_kw=hr%2520software%2520%2523best'
119
+ )
120
+ })
121
+
122
+ it('combines HSA with UTM and gclid parameters', () => {
123
+ html = "<!DOCTYPE html><html lang='en'></html>"
124
+ dom = new JSDOM(html, {
125
+ url: 'https://factorialhr.com/blog?utm_source=google&hsa_cam=123456&hsa_src=google&gclid=test_click_123'
126
+ })
127
+ expect(pixelUrl(dom.window.document)).toEqual(
128
+ '/internal/pixel?mc=&referer=&language=en&landing_page=https://factorialhr.com/blog&gclid=test_click_123&utm_source=google&hsa_cam=123456&hsa_src=google'
129
+ )
130
+ })
131
+ })
100
132
  })
@@ -27,6 +27,11 @@ const domWithUtms = new JSDOM(html, {
27
27
  referrer: 'https://google.com?query=cómo hacer nóminas'
28
28
  })
29
29
 
30
+ const domWithHsa = new JSDOM(html, {
31
+ url: 'https://factorialhr.com/team/césar?hsa_cam=123456&hsa_grp=789012&hsa_ad=345678&hsa_src=google&hsa_mt=exact&hsa_kw=hr_software&hsa_tgt=901234',
32
+ referrer: 'https://google.com?query=cómo hacer nóminas'
33
+ })
34
+
30
35
  describe('requestParameters', () => {
31
36
  it('returns the data', () => {
32
37
  expect(requestParameters(dom.window.document)).toEqual({
@@ -70,4 +75,18 @@ describe('requestParameters', () => {
70
75
  utm_term: 'hr_software'
71
76
  })
72
77
  })
78
+
79
+ it('returns the data with HSA parameters', () => {
80
+ expect(requestParameters(domWithHsa.window.document)).toEqual({
81
+ landingPage: 'https://factorialhr.com/team/c%25C3%25A9sar',
82
+ language: 'en',
83
+ hsa_ad: '345678',
84
+ hsa_cam: '123456',
85
+ hsa_grp: '789012',
86
+ hsa_kw: 'hr_software',
87
+ hsa_mt: 'exact',
88
+ hsa_src: 'google',
89
+ hsa_tgt: '901234'
90
+ })
91
+ })
73
92
  })
package/build/app.js CHANGED
@@ -126,7 +126,14 @@ exports.default = function (document) {
126
126
  utm_medium = _requestParameters.utm_medium,
127
127
  utm_campaign = _requestParameters.utm_campaign,
128
128
  utm_content = _requestParameters.utm_content,
129
- utm_term = _requestParameters.utm_term;
129
+ utm_term = _requestParameters.utm_term,
130
+ hsa_ad = _requestParameters.hsa_ad,
131
+ hsa_cam = _requestParameters.hsa_cam,
132
+ hsa_grp = _requestParameters.hsa_grp,
133
+ hsa_kw = _requestParameters.hsa_kw,
134
+ hsa_mt = _requestParameters.hsa_mt,
135
+ hsa_src = _requestParameters.hsa_src,
136
+ hsa_tgt = _requestParameters.hsa_tgt;
130
137
 
131
138
  var attributes = ['mc=' + (mc || ''), 'referer=' + encodeURI(document.referrer), 'language=' + language, 'landing_page=' + landingPage];
132
139
 
@@ -154,6 +161,27 @@ exports.default = function (document) {
154
161
  if (utm_term) {
155
162
  attributes.push('utm_term=' + encodeURIComponent(utm_term));
156
163
  }
164
+ if (hsa_ad) {
165
+ attributes.push('hsa_ad=' + encodeURIComponent(hsa_ad));
166
+ }
167
+ if (hsa_cam) {
168
+ attributes.push('hsa_cam=' + encodeURIComponent(hsa_cam));
169
+ }
170
+ if (hsa_grp) {
171
+ attributes.push('hsa_grp=' + encodeURIComponent(hsa_grp));
172
+ }
173
+ if (hsa_kw) {
174
+ attributes.push('hsa_kw=' + encodeURIComponent(hsa_kw));
175
+ }
176
+ if (hsa_mt) {
177
+ attributes.push('hsa_mt=' + encodeURIComponent(hsa_mt));
178
+ }
179
+ if (hsa_src) {
180
+ attributes.push('hsa_src=' + encodeURIComponent(hsa_src));
181
+ }
182
+ if (hsa_tgt) {
183
+ attributes.push('hsa_tgt=' + encodeURIComponent(hsa_tgt));
184
+ }
157
185
 
158
186
  return '/internal/pixel?' + attributes.join('&');
159
187
  };
@@ -204,6 +232,13 @@ function requestParameters(document) {
204
232
  var utm_campaign = findPropertyInParams(search, 'utm_campaign');
205
233
  var utm_content = findPropertyInParams(search, 'utm_content');
206
234
  var utm_term = findPropertyInParams(search, 'utm_term');
235
+ var hsa_ad = findPropertyInParams(search, 'hsa_ad');
236
+ var hsa_cam = findPropertyInParams(search, 'hsa_cam');
237
+ var hsa_grp = findPropertyInParams(search, 'hsa_grp');
238
+ var hsa_kw = findPropertyInParams(search, 'hsa_kw');
239
+ var hsa_mt = findPropertyInParams(search, 'hsa_mt');
240
+ var hsa_src = findPropertyInParams(search, 'hsa_src');
241
+ var hsa_tgt = findPropertyInParams(search, 'hsa_tgt');
207
242
 
208
243
  return {
209
244
  language: locale,
@@ -216,7 +251,14 @@ function requestParameters(document) {
216
251
  utm_medium: utm_medium,
217
252
  utm_campaign: utm_campaign,
218
253
  utm_content: utm_content,
219
- utm_term: utm_term
254
+ utm_term: utm_term,
255
+ hsa_ad: hsa_ad,
256
+ hsa_cam: hsa_cam,
257
+ hsa_grp: hsa_grp,
258
+ hsa_kw: hsa_kw,
259
+ hsa_mt: hsa_mt,
260
+ hsa_src: hsa_src,
261
+ hsa_tgt: hsa_tgt
220
262
  };
221
263
  }
222
264
 
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1767626490511" clover="3.2.0">
3
- <project timestamp="1767626490511" name="All files">
4
- <metrics statements="48" coveredstatements="38" conditionals="27" coveredconditionals="18" methods="5" coveredmethods="4" elements="80" coveredelements="60" complexity="0" loc="48" ncloc="48" packages="1" files="3" classes="3">
2
+ <coverage generated="1768946524651" clover="3.2.0">
3
+ <project timestamp="1768946524651" name="All files">
4
+ <metrics statements="69" coveredstatements="59" conditionals="41" coveredconditionals="32" methods="5" coveredmethods="4" elements="115" coveredelements="95" complexity="0" loc="69" ncloc="69" packages="1" files="3" classes="3">
5
5
  <file name="index.js" path="/Users/joan.silio/code/factorial-pixel/src/index.js">
6
6
  <metrics statements="10" coveredstatements="0" conditionals="8" coveredconditionals="0" methods="1" coveredmethods="0"/>
7
7
  <line num="1" count="0" type="cond" truecount="0" falsecount="4"/>
@@ -16,48 +16,69 @@
16
16
  <line num="18" count="0" type="stmt"/>
17
17
  </file>
18
18
  <file name="pixelUrl.js" path="/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js">
19
- <metrics statements="19" coveredstatements="19" conditionals="18" coveredconditionals="18" methods="1" coveredmethods="1"/>
20
- <line num="4" count="8" type="stmt"/>
21
- <line num="7" count="8" type="stmt"/>
22
- <line num="14" count="8" type="cond" truecount="2" falsecount="0"/>
23
- <line num="15" count="2" type="stmt"/>
24
- <line num="17" count="8" type="cond" truecount="2" falsecount="0"/>
19
+ <metrics statements="33" coveredstatements="33" conditionals="32" coveredconditionals="32" methods="1" coveredmethods="1"/>
20
+ <line num="4" count="11" type="stmt"/>
21
+ <line num="7" count="11" type="stmt"/>
22
+ <line num="14" count="11" type="cond" truecount="2" falsecount="0"/>
23
+ <line num="15" count="3" type="stmt"/>
24
+ <line num="17" count="11" type="cond" truecount="2" falsecount="0"/>
25
25
  <line num="18" count="1" type="stmt"/>
26
- <line num="20" count="8" type="cond" truecount="2" falsecount="0"/>
26
+ <line num="20" count="11" type="cond" truecount="2" falsecount="0"/>
27
27
  <line num="21" count="1" type="stmt"/>
28
- <line num="23" count="8" type="cond" truecount="2" falsecount="0"/>
29
- <line num="24" count="3" type="stmt"/>
30
- <line num="26" count="8" type="cond" truecount="2" falsecount="0"/>
28
+ <line num="23" count="11" type="cond" truecount="2" falsecount="0"/>
29
+ <line num="24" count="4" type="stmt"/>
30
+ <line num="26" count="11" type="cond" truecount="2" falsecount="0"/>
31
31
  <line num="27" count="2" type="stmt"/>
32
- <line num="29" count="8" type="cond" truecount="2" falsecount="0"/>
32
+ <line num="29" count="11" type="cond" truecount="2" falsecount="0"/>
33
33
  <line num="30" count="3" type="stmt"/>
34
- <line num="32" count="8" type="cond" truecount="2" falsecount="0"/>
34
+ <line num="32" count="11" type="cond" truecount="2" falsecount="0"/>
35
35
  <line num="33" count="2" type="stmt"/>
36
- <line num="35" count="8" type="cond" truecount="2" falsecount="0"/>
36
+ <line num="35" count="11" type="cond" truecount="2" falsecount="0"/>
37
37
  <line num="36" count="1" type="stmt"/>
38
- <line num="39" count="8" type="stmt"/>
38
+ <line num="38" count="11" type="cond" truecount="2" falsecount="0"/>
39
+ <line num="39" count="1" type="stmt"/>
40
+ <line num="41" count="11" type="cond" truecount="2" falsecount="0"/>
41
+ <line num="42" count="3" type="stmt"/>
42
+ <line num="44" count="11" type="cond" truecount="2" falsecount="0"/>
43
+ <line num="45" count="1" type="stmt"/>
44
+ <line num="47" count="11" type="cond" truecount="2" falsecount="0"/>
45
+ <line num="48" count="2" type="stmt"/>
46
+ <line num="50" count="11" type="cond" truecount="2" falsecount="0"/>
47
+ <line num="51" count="1" type="stmt"/>
48
+ <line num="53" count="11" type="cond" truecount="2" falsecount="0"/>
49
+ <line num="54" count="2" type="stmt"/>
50
+ <line num="56" count="11" type="cond" truecount="2" falsecount="0"/>
51
+ <line num="57" count="1" type="stmt"/>
52
+ <line num="60" count="11" type="stmt"/>
39
53
  </file>
40
54
  <file name="requestParameters.js" path="/Users/joan.silio/code/factorial-pixel/src/requestParameters.js">
41
- <metrics statements="19" coveredstatements="19" conditionals="1" coveredconditionals="0" methods="3" coveredmethods="3"/>
42
- <line num="2" count="117" type="stmt"/>
43
- <line num="4" count="117" type="stmt"/>
44
- <line num="5" count="234" type="stmt"/>
45
- <line num="7" count="234" type="stmt"/>
46
- <line num="10" count="117" type="stmt"/>
47
- <line num="14" count="13" type="stmt"/>
48
- <line num="15" count="13" type="stmt"/>
49
- <line num="16" count="13" type="stmt"/>
50
- <line num="17" count="13" type="stmt"/>
51
- <line num="18" count="13" type="stmt"/>
52
- <line num="19" count="13" type="stmt"/>
53
- <line num="20" count="13" type="stmt"/>
54
- <line num="21" count="13" type="stmt"/>
55
- <line num="22" count="13" type="stmt"/>
56
- <line num="23" count="13" type="stmt"/>
57
- <line num="24" count="13" type="stmt"/>
58
- <line num="25" count="13" type="stmt"/>
59
- <line num="26" count="13" type="stmt"/>
60
- <line num="28" count="13" type="stmt"/>
55
+ <metrics statements="26" coveredstatements="26" conditionals="1" coveredconditionals="0" methods="3" coveredmethods="3"/>
56
+ <line num="2" count="272" type="stmt"/>
57
+ <line num="4" count="272" type="stmt"/>
58
+ <line num="5" count="736" type="stmt"/>
59
+ <line num="7" count="736" type="stmt"/>
60
+ <line num="10" count="272" type="stmt"/>
61
+ <line num="14" count="17" type="stmt"/>
62
+ <line num="15" count="17" type="stmt"/>
63
+ <line num="16" count="17" type="stmt"/>
64
+ <line num="17" count="17" type="stmt"/>
65
+ <line num="18" count="17" type="stmt"/>
66
+ <line num="19" count="17" type="stmt"/>
67
+ <line num="20" count="17" type="stmt"/>
68
+ <line num="21" count="17" type="stmt"/>
69
+ <line num="22" count="17" type="stmt"/>
70
+ <line num="23" count="17" type="stmt"/>
71
+ <line num="24" count="17" type="stmt"/>
72
+ <line num="25" count="17" type="stmt"/>
73
+ <line num="26" count="17" type="stmt"/>
74
+ <line num="27" count="17" type="stmt"/>
75
+ <line num="28" count="17" type="stmt"/>
76
+ <line num="29" count="17" type="stmt"/>
77
+ <line num="30" count="17" type="stmt"/>
78
+ <line num="31" count="17" type="stmt"/>
79
+ <line num="32" count="17" type="stmt"/>
80
+ <line num="33" count="17" type="stmt"/>
81
+ <line num="35" count="17" type="stmt"/>
61
82
  </file>
62
83
  </metrics>
63
84
  </project>
@@ -1,4 +1,4 @@
1
1
  {"/Users/joan.silio/code/factorial-pixel/src/index.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/index.js","statementMap":{"0":{"start":{"line":1,"column":29},"end":{"line":1,"column":50}},"1":{"start":{"line":1,"column":68},"end":{"line":1,"column":101}},"2":{"start":{"line":1,"column":140},"end":{"line":1,"column":194}},"3":{"start":{"line":9,"column":13},"end":{"line":9,"column":55}},"4":{"start":{"line":10,"column":19},"end":{"line":10,"column":69}},"5":{"start":{"line":11,"column":13},"end":{"line":11,"column":58}},"6":{"start":{"line":13,"column":10},"end":{"line":13,"column":39}},"7":{"start":{"line":14,"column":0},"end":{"line":14,"column":58}},"8":{"start":{"line":15,"column":0},"end":{"line":15,"column":14}},"9":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"10":{"start":{"line":17,"column":0},"end":{"line":17,"column":28}},"11":{"start":{"line":18,"column":0},"end":{"line":18,"column":31}}},"fnMap":{"0":{"name":"_interopRequireDefault","decl":{"start":{"line":1,"column":111},"end":{"line":1,"column":133}},"loc":{"start":{"line":1,"column":139},"end":{"line":1,"column":195}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":147},"end":{"line":1,"column":193}},"type":"cond-expr","locations":[{"start":{"line":1,"column":171},"end":{"line":1,"column":174}},{"start":{"line":1,"column":177},"end":{"line":1,"column":193}}],"line":1},"1":{"loc":{"start":{"line":1,"column":147},"end":{"line":1,"column":168}},"type":"binary-expr","locations":[{"start":{"line":1,"column":147},"end":{"line":1,"column":150}},{"start":{"line":1,"column":154},"end":{"line":1,"column":168}}],"line":1},"2":{"loc":{"start":{"line":10,"column":19},"end":{"line":10,"column":69}},"type":"cond-expr","locations":[{"start":{"line":10,"column":28},"end":{"line":10,"column":62}},{"start":{"line":10,"column":65},"end":{"line":10,"column":69}}],"line":10},"3":{"loc":{"start":{"line":11,"column":13},"end":{"line":11,"column":58}},"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":25}},{"start":{"line":11,"column":29},"end":{"line":11,"column":58}}],"line":11}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]}}
2
- ,"/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js","statementMap":{"0":{"start":{"line":4,"column":123},"end":{"line":6,"column":3}},"1":{"start":{"line":7,"column":21},"end":{"line":12,"column":3}},"2":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},"4":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":37}},"6":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"7":{"start":{"line":21,"column":4},"end":{"line":21,"column":39}},"8":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":67}},"10":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"11":{"start":{"line":27,"column":4},"end":{"line":27,"column":67}},"12":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"13":{"start":{"line":30,"column":4},"end":{"line":30,"column":71}},"14":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"15":{"start":{"line":33,"column":4},"end":{"line":33,"column":69}},"16":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"17":{"start":{"line":36,"column":4},"end":{"line":36,"column":63}},"18":{"start":{"line":39,"column":2},"end":{"line":39,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":15},"end":{"line":3,"column":16}},"loc":{"start":{"line":3,"column":27},"end":{"line":40,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":10},"end":{"line":8,"column":18}},"type":"binary-expr","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":12}},{"start":{"line":8,"column":16},"end":{"line":8,"column":18}}],"line":8},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}],"line":14},"2":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{"line":17,"column":2},"end":{"line":19,"column":3}}],"line":17},"3":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{"line":20,"column":2},"end":{"line":22,"column":3}}],"line":20},"4":{"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},{"start":{"line":23,"column":2},"end":{"line":25,"column":3}}],"line":23},"5":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{"line":26,"column":2},"end":{"line":28,"column":3}}],"line":26},"6":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{"line":29,"column":2},"end":{"line":31,"column":3}}],"line":29},"7":{"loc":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},{"start":{"line":32,"column":2},"end":{"line":34,"column":3}}],"line":32},"8":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{"line":35,"column":2},"end":{"line":37,"column":3}}],"line":35}},"s":{"0":8,"1":8,"2":8,"3":2,"4":8,"5":1,"6":8,"7":1,"8":8,"9":3,"10":8,"11":2,"12":8,"13":3,"14":8,"15":2,"16":8,"17":1,"18":8},"f":{"0":8},"b":{"0":[8,7],"1":[2,6],"2":[1,7],"3":[1,7],"4":[3,5],"5":[2,6],"6":[3,5],"7":[2,6],"8":[1,7]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8b1f35fcda7dff412f23052cc8e9f0e4159cae97"}
3
- ,"/Users/joan.silio/code/factorial-pixel/src/requestParameters.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/requestParameters.js","statementMap":{"0":{"start":{"line":2,"column":14},"end":{"line":2,"column":16}},"1":{"start":{"line":4,"column":2},"end":{"line":8,"column":4}},"2":{"start":{"line":5,"column":25},"end":{"line":5,"column":41}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":20}},"4":{"start":{"line":10,"column":2},"end":{"line":10,"column":22}},"5":{"start":{"line":14,"column":15},"end":{"line":14,"column":68}},"6":{"start":{"line":15,"column":17},"end":{"line":15,"column":54}},"7":{"start":{"line":16,"column":18},"end":{"line":16,"column":33}},"8":{"start":{"line":17,"column":17},"end":{"line":17,"column":66}},"9":{"start":{"line":18,"column":13},"end":{"line":18,"column":47}},"10":{"start":{"line":19,"column":16},"end":{"line":19,"column":53}},"11":{"start":{"line":20,"column":16},"end":{"line":20,"column":53}},"12":{"start":{"line":21,"column":17},"end":{"line":21,"column":55}},"13":{"start":{"line":22,"column":21},"end":{"line":22,"column":63}},"14":{"start":{"line":23,"column":21},"end":{"line":23,"column":63}},"15":{"start":{"line":24,"column":23},"end":{"line":24,"column":67}},"16":{"start":{"line":25,"column":22},"end":{"line":25,"column":65}},"17":{"start":{"line":26,"column":19},"end":{"line":26,"column":59}},"18":{"start":{"line":28,"column":2},"end":{"line":40,"column":3}}},"fnMap":{"0":{"name":"findPropertyInParams","decl":{"start":{"line":1,"column":9},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":54},"end":{"line":11,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":28},"end":{"line":4,"column":29}},"loc":{"start":{"line":4,"column":37},"end":{"line":8,"column":3}},"line":4},"2":{"name":"requestParameters","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":41}},"loc":{"start":{"line":13,"column":53},"end":{"line":41,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":42}},"type":"default-arg","locations":[{"start":{"line":1,"column":40},"end":{"line":1,"column":42}}],"line":1}},"s":{"0":117,"1":117,"2":234,"3":234,"4":117,"5":13,"6":13,"7":13,"8":13,"9":13,"10":13,"11":13,"12":13,"13":13,"14":13,"15":13,"16":13,"17":13,"18":13},"f":{"0":117,"1":234,"2":13},"b":{"0":[0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"ae9f81905e4c08f91ce00c88fc6767e97c17a53d"}
2
+ ,"/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js","statementMap":{"0":{"start":{"line":4,"column":183},"end":{"line":6,"column":3}},"1":{"start":{"line":7,"column":21},"end":{"line":12,"column":3}},"2":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},"4":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":18,"column":37}},"6":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"7":{"start":{"line":21,"column":4},"end":{"line":21,"column":39}},"8":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"9":{"start":{"line":24,"column":4},"end":{"line":24,"column":67}},"10":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"11":{"start":{"line":27,"column":4},"end":{"line":27,"column":67}},"12":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"13":{"start":{"line":30,"column":4},"end":{"line":30,"column":71}},"14":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"15":{"start":{"line":33,"column":4},"end":{"line":33,"column":69}},"16":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"17":{"start":{"line":36,"column":4},"end":{"line":36,"column":63}},"18":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"19":{"start":{"line":39,"column":4},"end":{"line":39,"column":59}},"20":{"start":{"line":41,"column":2},"end":{"line":43,"column":3}},"21":{"start":{"line":42,"column":4},"end":{"line":42,"column":61}},"22":{"start":{"line":44,"column":2},"end":{"line":46,"column":3}},"23":{"start":{"line":45,"column":4},"end":{"line":45,"column":61}},"24":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"25":{"start":{"line":48,"column":4},"end":{"line":48,"column":59}},"26":{"start":{"line":50,"column":2},"end":{"line":52,"column":3}},"27":{"start":{"line":51,"column":4},"end":{"line":51,"column":59}},"28":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"29":{"start":{"line":54,"column":4},"end":{"line":54,"column":61}},"30":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"31":{"start":{"line":57,"column":4},"end":{"line":57,"column":61}},"32":{"start":{"line":60,"column":2},"end":{"line":60,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":3,"column":15},"end":{"line":3,"column":16}},"loc":{"start":{"line":3,"column":27},"end":{"line":61,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":10},"end":{"line":8,"column":18}},"type":"binary-expr","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":12}},{"start":{"line":8,"column":16},"end":{"line":8,"column":18}}],"line":8},"1":{"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"type":"if","locations":[{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},{"start":{"line":14,"column":2},"end":{"line":16,"column":3}}],"line":14},"2":{"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},{"start":{"line":17,"column":2},"end":{"line":19,"column":3}}],"line":17},"3":{"loc":{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},"type":"if","locations":[{"start":{"line":20,"column":2},"end":{"line":22,"column":3}},{"start":{"line":20,"column":2},"end":{"line":22,"column":3}}],"line":20},"4":{"loc":{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":25,"column":3}},{"start":{"line":23,"column":2},"end":{"line":25,"column":3}}],"line":23},"5":{"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"type":"if","locations":[{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},{"start":{"line":26,"column":2},"end":{"line":28,"column":3}}],"line":26},"6":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{"line":29,"column":2},"end":{"line":31,"column":3}}],"line":29},"7":{"loc":{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},"type":"if","locations":[{"start":{"line":32,"column":2},"end":{"line":34,"column":3}},{"start":{"line":32,"column":2},"end":{"line":34,"column":3}}],"line":32},"8":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{"line":35,"column":2},"end":{"line":37,"column":3}}],"line":35},"9":{"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"type":"if","locations":[{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},{"start":{"line":38,"column":2},"end":{"line":40,"column":3}}],"line":38},"10":{"loc":{"start":{"line":41,"column":2},"end":{"line":43,"column":3}},"type":"if","locations":[{"start":{"line":41,"column":2},"end":{"line":43,"column":3}},{"start":{"line":41,"column":2},"end":{"line":43,"column":3}}],"line":41},"11":{"loc":{"start":{"line":44,"column":2},"end":{"line":46,"column":3}},"type":"if","locations":[{"start":{"line":44,"column":2},"end":{"line":46,"column":3}},{"start":{"line":44,"column":2},"end":{"line":46,"column":3}}],"line":44},"12":{"loc":{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":49,"column":3}},{"start":{"line":47,"column":2},"end":{"line":49,"column":3}}],"line":47},"13":{"loc":{"start":{"line":50,"column":2},"end":{"line":52,"column":3}},"type":"if","locations":[{"start":{"line":50,"column":2},"end":{"line":52,"column":3}},{"start":{"line":50,"column":2},"end":{"line":52,"column":3}}],"line":50},"14":{"loc":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"type":"if","locations":[{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},{"start":{"line":53,"column":2},"end":{"line":55,"column":3}}],"line":53},"15":{"loc":{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},"type":"if","locations":[{"start":{"line":56,"column":2},"end":{"line":58,"column":3}},{"start":{"line":56,"column":2},"end":{"line":58,"column":3}}],"line":56}},"s":{"0":11,"1":11,"2":11,"3":3,"4":11,"5":1,"6":11,"7":1,"8":11,"9":4,"10":11,"11":2,"12":11,"13":3,"14":11,"15":2,"16":11,"17":1,"18":11,"19":1,"20":11,"21":3,"22":11,"23":1,"24":11,"25":2,"26":11,"27":1,"28":11,"29":2,"30":11,"31":1,"32":11},"f":{"0":11},"b":{"0":[11,10],"1":[3,8],"2":[1,10],"3":[1,10],"4":[4,7],"5":[2,9],"6":[3,8],"7":[2,9],"8":[1,10],"9":[1,10],"10":[3,8],"11":[1,10],"12":[2,9],"13":[1,10],"14":[2,9],"15":[1,10]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"9a1856fc35ad61775f716d61ea47de056c31c8c0"}
3
+ ,"/Users/joan.silio/code/factorial-pixel/src/requestParameters.js": {"path":"/Users/joan.silio/code/factorial-pixel/src/requestParameters.js","statementMap":{"0":{"start":{"line":2,"column":14},"end":{"line":2,"column":16}},"1":{"start":{"line":4,"column":2},"end":{"line":8,"column":4}},"2":{"start":{"line":5,"column":25},"end":{"line":5,"column":41}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":20}},"4":{"start":{"line":10,"column":2},"end":{"line":10,"column":22}},"5":{"start":{"line":14,"column":15},"end":{"line":14,"column":68}},"6":{"start":{"line":15,"column":17},"end":{"line":15,"column":54}},"7":{"start":{"line":16,"column":18},"end":{"line":16,"column":33}},"8":{"start":{"line":17,"column":17},"end":{"line":17,"column":66}},"9":{"start":{"line":18,"column":13},"end":{"line":18,"column":47}},"10":{"start":{"line":19,"column":16},"end":{"line":19,"column":53}},"11":{"start":{"line":20,"column":16},"end":{"line":20,"column":53}},"12":{"start":{"line":21,"column":17},"end":{"line":21,"column":55}},"13":{"start":{"line":22,"column":21},"end":{"line":22,"column":63}},"14":{"start":{"line":23,"column":21},"end":{"line":23,"column":63}},"15":{"start":{"line":24,"column":23},"end":{"line":24,"column":67}},"16":{"start":{"line":25,"column":22},"end":{"line":25,"column":65}},"17":{"start":{"line":26,"column":19},"end":{"line":26,"column":59}},"18":{"start":{"line":27,"column":17},"end":{"line":27,"column":55}},"19":{"start":{"line":28,"column":18},"end":{"line":28,"column":57}},"20":{"start":{"line":29,"column":18},"end":{"line":29,"column":57}},"21":{"start":{"line":30,"column":17},"end":{"line":30,"column":55}},"22":{"start":{"line":31,"column":17},"end":{"line":31,"column":55}},"23":{"start":{"line":32,"column":18},"end":{"line":32,"column":57}},"24":{"start":{"line":33,"column":18},"end":{"line":33,"column":57}},"25":{"start":{"line":35,"column":2},"end":{"line":54,"column":3}}},"fnMap":{"0":{"name":"findPropertyInParams","decl":{"start":{"line":1,"column":9},"end":{"line":1,"column":29}},"loc":{"start":{"line":1,"column":54},"end":{"line":11,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":28},"end":{"line":4,"column":29}},"loc":{"start":{"line":4,"column":37},"end":{"line":8,"column":3}},"line":4},"2":{"name":"requestParameters","decl":{"start":{"line":13,"column":24},"end":{"line":13,"column":41}},"loc":{"start":{"line":13,"column":53},"end":{"line":55,"column":1}},"line":13}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":31},"end":{"line":1,"column":42}},"type":"default-arg","locations":[{"start":{"line":1,"column":40},"end":{"line":1,"column":42}}],"line":1}},"s":{"0":272,"1":272,"2":736,"3":736,"4":272,"5":17,"6":17,"7":17,"8":17,"9":17,"10":17,"11":17,"12":17,"13":17,"14":17,"15":17,"16":17,"17":17,"18":17,"19":17,"20":17,"21":17,"22":17,"23":17,"24":17,"25":17},"f":{"0":272,"1":736,"2":17},"b":{"0":[0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e3c61ead2024de08e4e2c59336a4f3452dd8b26f"}
4
4
  }
@@ -21,7 +21,7 @@
21
21
  <div class='clearfix'>
22
22
  </div>
23
23
  </div>
24
- <div class='status-line medium'></div>
24
+ <div class='status-line high'></div>
25
25
  <div class="pad1">
26
26
  <table class="coverage-summary">
27
27
  <thead>
@@ -83,7 +83,7 @@
83
83
  </div><!-- /wrapper -->
84
84
  <div class='footer quiet pad2 space-top1 center small'>
85
85
  Code coverage
86
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
86
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Tue Jan 20 2026 23:02:04 GMT+0100 (Central European Standard Time)
87
87
  </div>
88
88
  </div>
89
89
  <script src="prettify.js"></script>
@@ -83,7 +83,7 @@ const img <span class="cstat-no" title="statement not covered" >= document.creat
83
83
  </div><!-- /wrapper -->
84
84
  <div class='footer quiet pad2 space-top1 center small'>
85
85
  Code coverage
86
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
86
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Tue Jan 20 2026 23:02:04 GMT+0100 (Central European Standard Time)
87
87
  </div>
88
88
  </div>
89
89
  <script src="prettify.js"></script>
@@ -63,50 +63,92 @@
63
63
  38
64
64
  39
65
65
  40
66
- 41</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
66
+ 41
67
+ 42
68
+ 43
69
+ 44
70
+ 45
71
+ 46
72
+ 47
73
+ 48
74
+ 49
75
+ 50
76
+ 51
77
+ 52
78
+ 53
79
+ 54
80
+ 55
81
+ 56
82
+ 57
83
+ 58
84
+ 59
85
+ 60
86
+ 61
87
+ 62</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
67
88
  <span class="cline-any cline-neutral">&nbsp;</span>
68
89
  <span class="cline-any cline-neutral">&nbsp;</span>
69
- <span class="cline-any cline-yes">8x</span>
90
+ <span class="cline-any cline-yes">11x</span>
70
91
  <span class="cline-any cline-neutral">&nbsp;</span>
71
92
  <span class="cline-any cline-neutral">&nbsp;</span>
72
- <span class="cline-any cline-yes">8x</span>
93
+ <span class="cline-any cline-yes">11x</span>
73
94
  <span class="cline-any cline-neutral">&nbsp;</span>
74
95
  <span class="cline-any cline-neutral">&nbsp;</span>
75
96
  <span class="cline-any cline-neutral">&nbsp;</span>
76
97
  <span class="cline-any cline-neutral">&nbsp;</span>
77
98
  <span class="cline-any cline-neutral">&nbsp;</span>
78
99
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">8x</span>
80
- <span class="cline-any cline-yes">2x</span>
100
+ <span class="cline-any cline-yes">11x</span>
101
+ <span class="cline-any cline-yes">3x</span>
81
102
  <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-yes">8x</span>
103
+ <span class="cline-any cline-yes">11x</span>
83
104
  <span class="cline-any cline-yes">1x</span>
84
105
  <span class="cline-any cline-neutral">&nbsp;</span>
85
- <span class="cline-any cline-yes">8x</span>
106
+ <span class="cline-any cline-yes">11x</span>
86
107
  <span class="cline-any cline-yes">1x</span>
87
108
  <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-yes">8x</span>
109
+ <span class="cline-any cline-yes">11x</span>
110
+ <span class="cline-any cline-yes">4x</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-yes">11x</span>
113
+ <span class="cline-any cline-yes">2x</span>
114
+ <span class="cline-any cline-neutral">&nbsp;</span>
115
+ <span class="cline-any cline-yes">11x</span>
89
116
  <span class="cline-any cline-yes">3x</span>
90
117
  <span class="cline-any cline-neutral">&nbsp;</span>
91
- <span class="cline-any cline-yes">8x</span>
118
+ <span class="cline-any cline-yes">11x</span>
92
119
  <span class="cline-any cline-yes">2x</span>
93
120
  <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-yes">8x</span>
121
+ <span class="cline-any cline-yes">11x</span>
122
+ <span class="cline-any cline-yes">1x</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-yes">11x</span>
125
+ <span class="cline-any cline-yes">1x</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-yes">11x</span>
95
128
  <span class="cline-any cline-yes">3x</span>
96
129
  <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-yes">8x</span>
130
+ <span class="cline-any cline-yes">11x</span>
131
+ <span class="cline-any cline-yes">1x</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-yes">11x</span>
98
134
  <span class="cline-any cline-yes">2x</span>
99
135
  <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-yes">8x</span>
136
+ <span class="cline-any cline-yes">11x</span>
101
137
  <span class="cline-any cline-yes">1x</span>
102
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-yes">11x</span>
140
+ <span class="cline-any cline-yes">2x</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-yes">11x</span>
143
+ <span class="cline-any cline-yes">1x</span>
103
144
  <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-yes">8x</span>
145
+ <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-yes">11x</span>
105
147
  <span class="cline-any cline-neutral">&nbsp;</span>
106
148
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import requestParameters from './requestParameters'
107
149
  &nbsp;
108
150
  export default document =&gt; {
109
- const { language, landingPage, mc, gclid, aclid, fbclid, utm_source, utm_medium, utm_campaign, utm_content, utm_term } = requestParameters(
151
+ const { language, landingPage, mc, gclid, aclid, fbclid, utm_source, utm_medium, utm_campaign, utm_content, utm_term, hsa_ad, hsa_cam, hsa_grp, hsa_kw, hsa_mt, hsa_src, hsa_tgt } = requestParameters(
110
152
  document
111
153
  )
112
154
  const attributes = [
@@ -140,6 +182,27 @@ export default document =&gt; {
140
182
  if (utm_term) {
141
183
  attributes.push(`utm_term=${encodeURIComponent(utm_term)}`)
142
184
  }
185
+ if (hsa_ad) {
186
+ attributes.push(`hsa_ad=${encodeURIComponent(hsa_ad)}`)
187
+ }
188
+ if (hsa_cam) {
189
+ attributes.push(`hsa_cam=${encodeURIComponent(hsa_cam)}`)
190
+ }
191
+ if (hsa_grp) {
192
+ attributes.push(`hsa_grp=${encodeURIComponent(hsa_grp)}`)
193
+ }
194
+ if (hsa_kw) {
195
+ attributes.push(`hsa_kw=${encodeURIComponent(hsa_kw)}`)
196
+ }
197
+ if (hsa_mt) {
198
+ attributes.push(`hsa_mt=${encodeURIComponent(hsa_mt)}`)
199
+ }
200
+ if (hsa_src) {
201
+ attributes.push(`hsa_src=${encodeURIComponent(hsa_src)}`)
202
+ }
203
+ if (hsa_tgt) {
204
+ attributes.push(`hsa_tgt=${encodeURIComponent(hsa_tgt)}`)
205
+ }
143
206
  &nbsp;
144
207
  return `/internal/pixel?${attributes.join('&amp;')}`
145
208
  }
@@ -149,7 +212,7 @@ export default document =&gt; {
149
212
  </div><!-- /wrapper -->
150
213
  <div class='footer quiet pad2 space-top1 center small'>
151
214
  Code coverage
152
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
215
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Tue Jan 20 2026 23:02:04 GMT+0100 (Central European Standard Time)
153
216
  </div>
154
217
  </div>
155
218
  <script src="prettify.js"></script>
@@ -64,34 +64,62 @@
64
64
  39
65
65
  40
66
66
  41
67
- 42</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
68
- <span class="cline-any cline-yes">117x</span>
67
+ 42
68
+ 43
69
+ 44
70
+ 45
71
+ 46
72
+ 47
73
+ 48
74
+ 49
75
+ 50
76
+ 51
77
+ 52
78
+ 53
79
+ 54
80
+ 55
81
+ 56</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
82
+ <span class="cline-any cline-yes">272x</span>
69
83
  <span class="cline-any cline-neutral">&nbsp;</span>
70
- <span class="cline-any cline-yes">117x</span>
71
- <span class="cline-any cline-yes">234x</span>
84
+ <span class="cline-any cline-yes">272x</span>
85
+ <span class="cline-any cline-yes">736x</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-yes">736x</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-yes">272x</span>
91
+ <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-yes">17x</span>
95
+ <span class="cline-any cline-yes">17x</span>
96
+ <span class="cline-any cline-yes">17x</span>
97
+ <span class="cline-any cline-yes">17x</span>
98
+ <span class="cline-any cline-yes">17x</span>
99
+ <span class="cline-any cline-yes">17x</span>
100
+ <span class="cline-any cline-yes">17x</span>
101
+ <span class="cline-any cline-yes">17x</span>
102
+ <span class="cline-any cline-yes">17x</span>
103
+ <span class="cline-any cline-yes">17x</span>
104
+ <span class="cline-any cline-yes">17x</span>
105
+ <span class="cline-any cline-yes">17x</span>
106
+ <span class="cline-any cline-yes">17x</span>
107
+ <span class="cline-any cline-yes">17x</span>
108
+ <span class="cline-any cline-yes">17x</span>
109
+ <span class="cline-any cline-yes">17x</span>
110
+ <span class="cline-any cline-yes">17x</span>
111
+ <span class="cline-any cline-yes">17x</span>
112
+ <span class="cline-any cline-yes">17x</span>
113
+ <span class="cline-any cline-yes">17x</span>
114
+ <span class="cline-any cline-neutral">&nbsp;</span>
115
+ <span class="cline-any cline-yes">17x</span>
72
116
  <span class="cline-any cline-neutral">&nbsp;</span>
73
- <span class="cline-any cline-yes">234x</span>
74
117
  <span class="cline-any cline-neutral">&nbsp;</span>
75
118
  <span class="cline-any cline-neutral">&nbsp;</span>
76
- <span class="cline-any cline-yes">117x</span>
77
119
  <span class="cline-any cline-neutral">&nbsp;</span>
78
120
  <span class="cline-any cline-neutral">&nbsp;</span>
79
121
  <span class="cline-any cline-neutral">&nbsp;</span>
80
- <span class="cline-any cline-yes">13x</span>
81
- <span class="cline-any cline-yes">13x</span>
82
- <span class="cline-any cline-yes">13x</span>
83
- <span class="cline-any cline-yes">13x</span>
84
- <span class="cline-any cline-yes">13x</span>
85
- <span class="cline-any cline-yes">13x</span>
86
- <span class="cline-any cline-yes">13x</span>
87
- <span class="cline-any cline-yes">13x</span>
88
- <span class="cline-any cline-yes">13x</span>
89
- <span class="cline-any cline-yes">13x</span>
90
- <span class="cline-any cline-yes">13x</span>
91
- <span class="cline-any cline-yes">13x</span>
92
- <span class="cline-any cline-yes">13x</span>
93
122
  <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-yes">13x</span>
95
123
  <span class="cline-any cline-neutral">&nbsp;</span>
96
124
  <span class="cline-any cline-neutral">&nbsp;</span>
97
125
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -131,6 +159,13 @@ export default function requestParameters (document) {
131
159
  const utm_campaign = findPropertyInParams(search, 'utm_campaign')
132
160
  const utm_content = findPropertyInParams(search, 'utm_content')
133
161
  const utm_term = findPropertyInParams(search, 'utm_term')
162
+ const hsa_ad = findPropertyInParams(search, 'hsa_ad')
163
+ const hsa_cam = findPropertyInParams(search, 'hsa_cam')
164
+ const hsa_grp = findPropertyInParams(search, 'hsa_grp')
165
+ const hsa_kw = findPropertyInParams(search, 'hsa_kw')
166
+ const hsa_mt = findPropertyInParams(search, 'hsa_mt')
167
+ const hsa_src = findPropertyInParams(search, 'hsa_src')
168
+ const hsa_tgt = findPropertyInParams(search, 'hsa_tgt')
134
169
  &nbsp;
135
170
  return {
136
171
  language: locale,
@@ -143,7 +178,14 @@ export default function requestParameters (document) {
143
178
  utm_medium,
144
179
  utm_campaign,
145
180
  utm_content,
146
- utm_term
181
+ utm_term,
182
+ hsa_ad,
183
+ hsa_cam,
184
+ hsa_grp,
185
+ hsa_kw,
186
+ hsa_mt,
187
+ hsa_src,
188
+ hsa_tgt
147
189
  }
148
190
  }
149
191
  &nbsp;</pre></td></tr>
@@ -152,7 +194,7 @@ export default function requestParameters (document) {
152
194
  </div><!-- /wrapper -->
153
195
  <div class='footer quiet pad2 space-top1 center small'>
154
196
  Code coverage
155
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jan 05 2026 16:21:30 GMT+0100 (Central European Standard Time)
197
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Tue Jan 20 2026 23:02:04 GMT+0100 (Central European Standard Time)
156
198
  </div>
157
199
  </div>
158
200
  <script src="prettify.js"></script>
@@ -32,48 +32,76 @@ SF:/Users/joan.silio/code/factorial-pixel/src/pixelUrl.js
32
32
  FN:3,(anonymous_0)
33
33
  FNF:1
34
34
  FNH:1
35
- FNDA:8,(anonymous_0)
36
- DA:4,8
37
- DA:7,8
38
- DA:14,8
39
- DA:15,2
40
- DA:17,8
35
+ FNDA:11,(anonymous_0)
36
+ DA:4,11
37
+ DA:7,11
38
+ DA:14,11
39
+ DA:15,3
40
+ DA:17,11
41
41
  DA:18,1
42
- DA:20,8
42
+ DA:20,11
43
43
  DA:21,1
44
- DA:23,8
45
- DA:24,3
46
- DA:26,8
44
+ DA:23,11
45
+ DA:24,4
46
+ DA:26,11
47
47
  DA:27,2
48
- DA:29,8
48
+ DA:29,11
49
49
  DA:30,3
50
- DA:32,8
50
+ DA:32,11
51
51
  DA:33,2
52
- DA:35,8
52
+ DA:35,11
53
53
  DA:36,1
54
- DA:39,8
55
- LF:19
56
- LH:19
57
- BRDA:8,0,0,8
58
- BRDA:8,0,1,7
59
- BRDA:14,1,0,2
60
- BRDA:14,1,1,6
54
+ DA:38,11
55
+ DA:39,1
56
+ DA:41,11
57
+ DA:42,3
58
+ DA:44,11
59
+ DA:45,1
60
+ DA:47,11
61
+ DA:48,2
62
+ DA:50,11
63
+ DA:51,1
64
+ DA:53,11
65
+ DA:54,2
66
+ DA:56,11
67
+ DA:57,1
68
+ DA:60,11
69
+ LF:33
70
+ LH:33
71
+ BRDA:8,0,0,11
72
+ BRDA:8,0,1,10
73
+ BRDA:14,1,0,3
74
+ BRDA:14,1,1,8
61
75
  BRDA:17,2,0,1
62
- BRDA:17,2,1,7
76
+ BRDA:17,2,1,10
63
77
  BRDA:20,3,0,1
64
- BRDA:20,3,1,7
65
- BRDA:23,4,0,3
66
- BRDA:23,4,1,5
78
+ BRDA:20,3,1,10
79
+ BRDA:23,4,0,4
80
+ BRDA:23,4,1,7
67
81
  BRDA:26,5,0,2
68
- BRDA:26,5,1,6
82
+ BRDA:26,5,1,9
69
83
  BRDA:29,6,0,3
70
- BRDA:29,6,1,5
84
+ BRDA:29,6,1,8
71
85
  BRDA:32,7,0,2
72
- BRDA:32,7,1,6
86
+ BRDA:32,7,1,9
73
87
  BRDA:35,8,0,1
74
- BRDA:35,8,1,7
75
- BRF:18
76
- BRH:18
88
+ BRDA:35,8,1,10
89
+ BRDA:38,9,0,1
90
+ BRDA:38,9,1,10
91
+ BRDA:41,10,0,3
92
+ BRDA:41,10,1,8
93
+ BRDA:44,11,0,1
94
+ BRDA:44,11,1,10
95
+ BRDA:47,12,0,2
96
+ BRDA:47,12,1,9
97
+ BRDA:50,13,0,1
98
+ BRDA:50,13,1,10
99
+ BRDA:53,14,0,2
100
+ BRDA:53,14,1,9
101
+ BRDA:56,15,0,1
102
+ BRDA:56,15,1,10
103
+ BRF:32
104
+ BRH:32
77
105
  end_of_record
78
106
  TN:
79
107
  SF:/Users/joan.silio/code/factorial-pixel/src/requestParameters.js
@@ -82,30 +110,37 @@ FN:4,(anonymous_1)
82
110
  FN:13,requestParameters
83
111
  FNF:3
84
112
  FNH:3
85
- FNDA:117,findPropertyInParams
86
- FNDA:234,(anonymous_1)
87
- FNDA:13,requestParameters
88
- DA:2,117
89
- DA:4,117
90
- DA:5,234
91
- DA:7,234
92
- DA:10,117
93
- DA:14,13
94
- DA:15,13
95
- DA:16,13
96
- DA:17,13
97
- DA:18,13
98
- DA:19,13
99
- DA:20,13
100
- DA:21,13
101
- DA:22,13
102
- DA:23,13
103
- DA:24,13
104
- DA:25,13
105
- DA:26,13
106
- DA:28,13
107
- LF:19
108
- LH:19
113
+ FNDA:272,findPropertyInParams
114
+ FNDA:736,(anonymous_1)
115
+ FNDA:17,requestParameters
116
+ DA:2,272
117
+ DA:4,272
118
+ DA:5,736
119
+ DA:7,736
120
+ DA:10,272
121
+ DA:14,17
122
+ DA:15,17
123
+ DA:16,17
124
+ DA:17,17
125
+ DA:18,17
126
+ DA:19,17
127
+ DA:20,17
128
+ DA:21,17
129
+ DA:22,17
130
+ DA:23,17
131
+ DA:24,17
132
+ DA:25,17
133
+ DA:26,17
134
+ DA:27,17
135
+ DA:28,17
136
+ DA:29,17
137
+ DA:30,17
138
+ DA:31,17
139
+ DA:32,17
140
+ DA:33,17
141
+ DA:35,17
142
+ LF:26
143
+ LH:26
109
144
  BRDA:1,0,0,0
110
145
  BRF:1
111
146
  BRH:0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "factorial-pixel",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Factorial marketing pixel",
5
5
  "repository": {
6
6
  "type": "git",