@beworke/pixel 0.1.0-rc.1 → 0.1.0-rc.6

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.
Files changed (156) hide show
  1. package/CHANGELOG.md +260 -4
  2. package/README.md +65 -118
  3. package/RELEASE_CANDIDATE.md +181 -36
  4. package/dist/{StorageFactory-BhpbB6Jj.d.mts → StorageFactory-CPghDPBj.d.mts} +2 -2
  5. package/dist/{StorageFactory-CAkJJqVD.d.ts → StorageFactory-tjfzk57c.d.ts} +2 -2
  6. package/dist/config/index.cjs.js +1 -1
  7. package/dist/config/index.cjs.js.map +1 -1
  8. package/dist/config/index.d.mts +4 -3
  9. package/dist/config/index.d.ts +4 -3
  10. package/dist/config/index.esm.js +1 -1
  11. package/dist/config/index.esm.js.map +1 -1
  12. package/dist/events/index.cjs.js +1 -1
  13. package/dist/events/index.cjs.js.map +1 -1
  14. package/dist/events/index.d.mts +2 -1
  15. package/dist/events/index.d.ts +2 -1
  16. package/dist/events/index.esm.js +1 -1
  17. package/dist/events/index.esm.js.map +1 -1
  18. package/dist/examples/html-script/README.md +24 -2
  19. package/dist/examples/html-script/RELEASE_CANDIDATE.md +20 -6
  20. package/dist/examples/html-script/add-payment-info/README.md +3 -3
  21. package/dist/examples/html-script/add-payment-info/example-add-payment-info-card-autocomplete.html +66 -48
  22. package/dist/examples/html-script/add-payment-info/example-add-payment-info-card-disabled.html +66 -48
  23. package/dist/examples/html-script/add-payment-info/example-add-payment-info-card-fields.html +65 -47
  24. package/dist/examples/html-script/add-payment-info/example-add-payment-info-data-track.html +73 -47
  25. package/dist/examples/html-script/add-payment-info/example-add-payment-info-dedupe.html +65 -47
  26. package/dist/examples/html-script/add-payment-info/example-add-payment-info-manual.html +56 -47
  27. package/dist/examples/html-script/add-payment-info/example-add-payment-info-rules-card.html +65 -47
  28. package/dist/examples/html-script/add-payment-info/example-add-payment-info-security.html +65 -47
  29. package/dist/examples/html-script/add-to-cart/README.md +3 -3
  30. package/dist/examples/html-script/add-to-cart/example-add-to-cart-attribute.html +90 -70
  31. package/dist/examples/html-script/add-to-cart/example-add-to-cart-auto.html +103 -81
  32. package/dist/examples/html-script/add-to-cart/example-add-to-cart-click.html +101 -78
  33. package/dist/examples/html-script/add-to-cart/example-add-to-cart-dedupe.html +90 -70
  34. package/dist/examples/html-script/add-to-cart/example-add-to-cart-manual.html +81 -67
  35. package/dist/examples/html-script/add-to-cart/example-add-to-cart-order-bump.html +90 -70
  36. package/dist/examples/html-script/add-to-cart/example-add-to-cart-text.html +104 -81
  37. package/dist/examples/html-script/behavior/example-behavior-engagement.html +489 -0
  38. package/dist/examples/html-script/behavior/example-behavior-heartbeat.html +350 -0
  39. package/dist/examples/html-script/behavior/example-behavior-runtime-intelligence.html +433 -0
  40. package/dist/examples/html-script/behavior/example-behavior-viewport.html +397 -0
  41. package/dist/examples/html-script/{example-behavior.html → behavior/example-behavior.html} +23 -17
  42. package/dist/examples/html-script/example-checkout-commerce.html +825 -0
  43. package/dist/examples/html-script/example-integration.html +5 -5
  44. package/dist/examples/html-script/example-landing-commerce.html +380 -0
  45. package/dist/examples/html-script/example-runtime-diagnostics.html +108 -0
  46. package/dist/examples/html-script/example-transport.html +5 -5
  47. package/dist/examples/html-script/full-funnel/README.md +64 -0
  48. package/dist/examples/html-script/full-funnel/checkout.html +116 -0
  49. package/dist/examples/html-script/full-funnel/downsell.html +58 -0
  50. package/dist/examples/html-script/full-funnel/landing.html +99 -0
  51. package/dist/examples/html-script/full-funnel/thank-you.html +85 -0
  52. package/dist/examples/html-script/full-funnel/upsell.html +64 -0
  53. package/dist/examples/html-script/initiate-checkout/README.md +6 -6
  54. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-attribute.html +94 -74
  55. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-auto.html +102 -80
  56. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-click.html +103 -80
  57. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-manual.html +86 -72
  58. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-snapshot.html +95 -75
  59. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-submit.html +103 -83
  60. package/dist/examples/html-script/initiate-checkout/example-initiate-checkout-text.html +105 -82
  61. package/dist/examples/html-script/lead/README.md +9 -7
  62. package/dist/examples/html-script/lead/example-lead-trigger-attribute.html +67 -47
  63. package/dist/examples/html-script/lead/example-lead-trigger-auto.html +78 -56
  64. package/dist/examples/html-script/lead/example-lead-trigger-click.html +78 -55
  65. package/dist/examples/html-script/release-candidate.html +187 -76
  66. package/dist/examples/html-script/remove-from-cart/README.md +1 -1
  67. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-attribute.html +93 -73
  68. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-css.html +93 -73
  69. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-dedupe.html +93 -73
  70. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-manual.html +84 -70
  71. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-multi.html +94 -74
  72. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-state.html +95 -75
  73. package/dist/examples/html-script/remove-from-cart/example-remove-from-cart-text.html +98 -76
  74. package/dist/examples/html-script/search/README.md +1 -1
  75. package/dist/examples/html-script/search/example-search-attribute.html +66 -51
  76. package/dist/examples/html-script/search/example-search-button-sync.html +66 -51
  77. package/dist/examples/html-script/search/example-search-dedupe.html +66 -51
  78. package/dist/examples/html-script/search/example-search-input.html +67 -51
  79. package/dist/examples/html-script/search/example-search-manual.html +57 -48
  80. package/dist/examples/html-script/search/example-search-submit.html +66 -51
  81. package/dist/examples/html-script/search/example-search-text.html +71 -51
  82. package/dist/examples/html-script/url-context/example-url-context-allowed-domains.html +63 -0
  83. package/dist/examples/html-script/url-context/example-url-context-landing.html +70 -0
  84. package/dist/examples/html-script/url-context/example-url-context-upsell.html +67 -0
  85. package/dist/examples/html-script/url-context/example-url-context.html +171 -0
  86. package/dist/examples/html-script/view-content/README.md +1 -1
  87. package/dist/examples/html-script/view-content/example-view-content-attribute.html +85 -70
  88. package/dist/examples/html-script/view-content/example-view-content-css.html +85 -70
  89. package/dist/examples/html-script/view-content/example-view-content-dedupe.html +85 -70
  90. package/dist/examples/html-script/view-content/example-view-content-empty.html +85 -70
  91. package/dist/examples/html-script/view-content/example-view-content-manual.html +76 -67
  92. package/dist/examples/html-script/view-content/example-view-content-product-card.html +85 -70
  93. package/dist/examples/html-script/view-content/example-view-content-text.html +90 -73
  94. package/dist/examples/v2/README.md +4 -1
  95. package/dist/{index-DUfFzniE.d.ts → index-CQAyT5Od.d.ts} +170 -3
  96. package/dist/{index-DUfFzniE.d.mts → index-JlKPz4pp.d.mts} +170 -3
  97. package/dist/index.cjs.js +1 -1
  98. package/dist/index.cjs.js.map +1 -1
  99. package/dist/index.d.mts +435 -12
  100. package/dist/index.d.ts +435 -12
  101. package/dist/index.esm.js +1 -1
  102. package/dist/index.esm.js.map +1 -1
  103. package/dist/{pixel-CbeF25mD.d.mts → pixel-BxZZx8l5.d.ts} +248 -72
  104. package/dist/{pixel-CbeF25mD.d.ts → pixel-CKc4OQUx.d.mts} +248 -72
  105. package/dist/{pixel-default-config-1VgLFOiL.d.mts → pixel-default-config-CJl-eypl.d.mts} +1 -1
  106. package/dist/{pixel-default-config-Bxb-Vdd8.d.ts → pixel-default-config-aAOujzwp.d.ts} +1 -1
  107. package/dist/runtime/index.cjs.js +1 -1
  108. package/dist/runtime/index.cjs.js.map +1 -1
  109. package/dist/runtime/index.d.mts +19 -26
  110. package/dist/runtime/index.d.ts +19 -26
  111. package/dist/runtime/index.esm.js +1 -1
  112. package/dist/runtime/index.esm.js.map +1 -1
  113. package/dist/services/index.cjs.js +1 -1
  114. package/dist/services/index.cjs.js.map +1 -1
  115. package/dist/services/index.d.mts +14 -6
  116. package/dist/services/index.d.ts +14 -6
  117. package/dist/services/index.esm.js +1 -1
  118. package/dist/services/index.esm.js.map +1 -1
  119. package/dist/types-BP8dz1gP.d.mts +19 -0
  120. package/dist/types-C75pQP31.d.ts +19 -0
  121. package/dist/types-DMhzHSVC.d.mts +293 -0
  122. package/dist/types-D_SsCur9.d.ts +293 -0
  123. package/dist/url-context-BjAsQoVl.d.mts +85 -0
  124. package/dist/url-context-BjAsQoVl.d.ts +85 -0
  125. package/dist/v2/global.global.js +1 -1
  126. package/dist/v2/global.global.js.map +1 -1
  127. package/dist/v2/index.cjs.js +1 -1
  128. package/dist/v2/index.cjs.js.map +1 -1
  129. package/dist/v2/index.d.mts +8 -6
  130. package/dist/v2/index.d.ts +8 -6
  131. package/dist/v2/index.esm.js +1 -1
  132. package/dist/v2/index.esm.js.map +1 -1
  133. package/docs/public/README.md +75 -0
  134. package/docs/public/api/exports.md +47 -0
  135. package/docs/public/api/pixel.md +65 -0
  136. package/docs/public/configuration/commerce.md +44 -0
  137. package/docs/public/configuration/modules.md +66 -0
  138. package/docs/public/configuration/overview.md +66 -0
  139. package/docs/public/events/catalog.md +65 -0
  140. package/docs/public/getting-started/installation.md +75 -0
  141. package/docs/public/getting-started/quick-start.md +77 -0
  142. package/docs/public/getting-started/react-nextjs.md +55 -0
  143. package/docs/public/getting-started/script-tag.md +57 -0
  144. package/docs/public/guides/funnel-checkout.md +52 -0
  145. package/docs/public/guides/funnel-downsell.md +53 -0
  146. package/docs/public/guides/funnel-full.md +64 -0
  147. package/docs/public/guides/funnel-landing.md +68 -0
  148. package/docs/public/guides/funnel-thank-you.md +48 -0
  149. package/docs/public/guides/funnel-upsell.md +72 -0
  150. package/docs/public/limitations.md +32 -0
  151. package/docs/public/privacy/limitations.md +33 -0
  152. package/docs/public/release-candidate/validation.md +37 -0
  153. package/docs/public/troubleshooting.md +55 -0
  154. package/package.json +13 -1
  155. package/dist/types-CTpRvFKZ.d.ts +0 -71
  156. package/dist/types-DGlBdsAy.d.mts +0 -71
@@ -188,10 +188,19 @@ code { font-size: 0.85em; }
188
188
 
189
189
  function searchDetectorConfig() {
190
190
  return {
191
- enabled: true,
192
- selector: ['[data-track="search"]'],
193
- selectorType: 'css',
194
- };
191
+ enabled: true,
192
+ sources: [
193
+ {
194
+ name: 'search-selector',
195
+ type: 'selector',
196
+ selector: [
197
+ '[data-track=\'search\']'
198
+ ],
199
+ selectorType: 'css',
200
+ trigger: 'click'
201
+ }
202
+ ]
203
+ };
195
204
  }
196
205
 
197
206
  function buildConfig() {
@@ -210,6 +219,45 @@ code { font-size: 0.85em; }
210
219
  timeoutMs: 10000,
211
220
  },
212
221
  identity: { ...base.identity, pixelId: PIXEL_ID },
222
+ commerce: {
223
+ enabled: true,
224
+ currency: 'BRL',
225
+ catalog: { products: [] },
226
+ cart: {
227
+ mode: 'single_product',
228
+ initialItems: [],
229
+ calculateValueFrom: 'cart',
230
+ allowDynamicItems: true,
231
+ },
232
+ mappings: {
233
+ attributes: {
234
+ productId: ['data-product-id'],
235
+ productName: ['data-product-name'],
236
+ price: ['data-product-price'],
237
+ quantity: ['data-quantity'],
238
+ currency: ['data-currency'],
239
+ },
240
+ fields: {
241
+ email: ['email'],
242
+ phone: ['phone'],
243
+ productId: ['productId'],
244
+ productName: ['productName'],
245
+ price: ['price'],
246
+ quantity: ['quantity'],
247
+ currency: ['currency'],
248
+ },
249
+ },
250
+ enrichment: {
251
+ pageView: { enabled: false, source: 'cart' },
252
+ viewContent: { enabled: true, source: 'event_or_cart' },
253
+ lead: { enabled: false, source: 'event_or_cart' },
254
+ addToCart: { enabled: true, source: 'event_or_cart' },
255
+ removeFromCart: { enabled: true, source: 'event_or_cart' },
256
+ initiateCheckout: { enabled: true, source: 'cart' },
257
+ addPaymentInfo: { enabled: true, source: 'cart' },
258
+ purchase: { enabled: true, source: 'cart' },
259
+ }
260
+ },
213
261
  modules: {
214
262
  ...base.modules,
215
263
  core: {
@@ -271,61 +319,28 @@ code { font-size: 0.85em; }
271
319
  integrations: { ...base.modules.integrations, enabled: false },
272
320
  conversion: {
273
321
  enabled: true,
274
- commerce: {
275
- currency: 'BRL',
276
- catalog: { products: [] },
277
- checkout: {
278
- mode: 'single_product',
279
- selectedItems: [],
280
- calculateValueFrom: 'selected_items',
281
- allowDynamicItems: true,
282
- },
283
- mappings: {
284
- attributes: {
285
- productId: ['data-product-id'],
286
- productName: ['data-product-name'],
287
- price: ['data-product-price'],
288
- quantity: ['data-quantity'],
289
- currency: ['data-currency'],
290
- },
291
- fields: {
292
- email: ['email'],
293
- phone: ['phone'],
294
- productId: ['productId'],
295
- productName: ['productName'],
296
- price: ['price'],
297
- quantity: ['quantity'],
298
- currency: ['currency'],
299
- },
300
- },
301
- },
302
322
  manual: {
303
323
  pageView: { enabled: false },
304
- purchase: { enabled: false },
305
- lead: { enabled: false },
306
- addToCart: { enabled: false },
307
- removeFromCart: { enabled: false },
308
- initiateCheckout: { enabled: false },
309
- addPaymentInfo: { enabled: false },
324
+ purchase: { enabled: false, sources: [] },
325
+ lead: { enabled: false, sources: [] },
326
+ addToCart: { enabled: false, sources: [] },
327
+ removeFromCart: { enabled: false, sources: [] },
328
+ initiateCheckout: { enabled: false, sources: [] },
329
+ addPaymentInfo: { enabled: false, sources: [] },
310
330
  search: { enabled: true },
311
- viewContent: { enabled: false },
331
+ viewContent: { enabled: false, sources: [] },
312
332
  },
313
333
  auto: {
314
334
  enabled: true,
315
335
  detectors: {
316
- lead: { enabled: false },
317
- purchase: { enabled: false },
318
- addToCart: { enabled: false },
319
- removeFromCart: { enabled: false },
320
- initiateCheckout: { enabled: false },
321
- addPaymentInfo: {
322
- enabled: false,
323
- paymentMethod: 'CREDIT_CARD',
324
- cardDetection: false,
325
- autoDispatch: false,
326
- },
336
+ lead: { enabled: false, sources: [] },
337
+ purchase: { enabled: false, sources: [] },
338
+ addToCart: { enabled: false, sources: [] },
339
+ removeFromCart: { enabled: false, sources: [] },
340
+ initiateCheckout: { enabled: false, sources: [] },
341
+ addPaymentInfo: { enabled: false, sources: [] },
327
342
  search: searchDetectorConfig(),
328
- viewContent: { enabled: false },
343
+ viewContent: { enabled: false, sources: [] },
329
344
  },
330
345
  },
331
346
  rules: {
@@ -185,10 +185,19 @@ code { font-size: 0.85em; }
185
185
 
186
186
  function searchDetectorConfig() {
187
187
  return {
188
- enabled: true,
189
- selector: ['[data-track="search"]'],
190
- selectorType: 'css',
191
- };
188
+ enabled: true,
189
+ sources: [
190
+ {
191
+ name: 'search-selector',
192
+ type: 'selector',
193
+ selector: [
194
+ '[data-track=\'search\']'
195
+ ],
196
+ selectorType: 'css',
197
+ trigger: 'click'
198
+ }
199
+ ]
200
+ };
192
201
  }
193
202
 
194
203
  function buildConfig() {
@@ -207,6 +216,45 @@ code { font-size: 0.85em; }
207
216
  timeoutMs: 10000,
208
217
  },
209
218
  identity: { ...base.identity, pixelId: PIXEL_ID },
219
+ commerce: {
220
+ enabled: true,
221
+ currency: 'BRL',
222
+ catalog: { products: [] },
223
+ cart: {
224
+ mode: 'single_product',
225
+ initialItems: [],
226
+ calculateValueFrom: 'cart',
227
+ allowDynamicItems: true,
228
+ },
229
+ mappings: {
230
+ attributes: {
231
+ productId: ['data-product-id'],
232
+ productName: ['data-product-name'],
233
+ price: ['data-product-price'],
234
+ quantity: ['data-quantity'],
235
+ currency: ['data-currency'],
236
+ },
237
+ fields: {
238
+ email: ['email'],
239
+ phone: ['phone'],
240
+ productId: ['productId'],
241
+ productName: ['productName'],
242
+ price: ['price'],
243
+ quantity: ['quantity'],
244
+ currency: ['currency'],
245
+ },
246
+ },
247
+ enrichment: {
248
+ pageView: { enabled: false, source: 'cart' },
249
+ viewContent: { enabled: true, source: 'event_or_cart' },
250
+ lead: { enabled: false, source: 'event_or_cart' },
251
+ addToCart: { enabled: true, source: 'event_or_cart' },
252
+ removeFromCart: { enabled: true, source: 'event_or_cart' },
253
+ initiateCheckout: { enabled: true, source: 'cart' },
254
+ addPaymentInfo: { enabled: true, source: 'cart' },
255
+ purchase: { enabled: true, source: 'cart' },
256
+ }
257
+ },
210
258
  modules: {
211
259
  ...base.modules,
212
260
  core: {
@@ -268,61 +316,28 @@ code { font-size: 0.85em; }
268
316
  integrations: { ...base.modules.integrations, enabled: false },
269
317
  conversion: {
270
318
  enabled: true,
271
- commerce: {
272
- currency: 'BRL',
273
- catalog: { products: [] },
274
- checkout: {
275
- mode: 'single_product',
276
- selectedItems: [],
277
- calculateValueFrom: 'selected_items',
278
- allowDynamicItems: true,
279
- },
280
- mappings: {
281
- attributes: {
282
- productId: ['data-product-id'],
283
- productName: ['data-product-name'],
284
- price: ['data-product-price'],
285
- quantity: ['data-quantity'],
286
- currency: ['data-currency'],
287
- },
288
- fields: {
289
- email: ['email'],
290
- phone: ['phone'],
291
- productId: ['productId'],
292
- productName: ['productName'],
293
- price: ['price'],
294
- quantity: ['quantity'],
295
- currency: ['currency'],
296
- },
297
- },
298
- },
299
319
  manual: {
300
320
  pageView: { enabled: false },
301
- purchase: { enabled: false },
302
- lead: { enabled: false },
303
- addToCart: { enabled: false },
304
- removeFromCart: { enabled: false },
305
- initiateCheckout: { enabled: false },
306
- addPaymentInfo: { enabled: false },
321
+ purchase: { enabled: false, sources: [] },
322
+ lead: { enabled: false, sources: [] },
323
+ addToCart: { enabled: false, sources: [] },
324
+ removeFromCart: { enabled: false, sources: [] },
325
+ initiateCheckout: { enabled: false, sources: [] },
326
+ addPaymentInfo: { enabled: false, sources: [] },
307
327
  search: { enabled: true },
308
- viewContent: { enabled: false },
328
+ viewContent: { enabled: false, sources: [] },
309
329
  },
310
330
  auto: {
311
331
  enabled: true,
312
332
  detectors: {
313
- lead: { enabled: false },
314
- purchase: { enabled: false },
315
- addToCart: { enabled: false },
316
- removeFromCart: { enabled: false },
317
- initiateCheckout: { enabled: false },
318
- addPaymentInfo: {
319
- enabled: false,
320
- paymentMethod: 'CREDIT_CARD',
321
- cardDetection: false,
322
- autoDispatch: false,
323
- },
333
+ lead: { enabled: false, sources: [] },
334
+ purchase: { enabled: false, sources: [] },
335
+ addToCart: { enabled: false, sources: [] },
336
+ removeFromCart: { enabled: false, sources: [] },
337
+ initiateCheckout: { enabled: false, sources: [] },
338
+ addPaymentInfo: { enabled: false, sources: [] },
324
339
  search: searchDetectorConfig(),
325
- viewContent: { enabled: false },
340
+ viewContent: { enabled: false, sources: [] },
326
341
  },
327
342
  },
328
343
  rules: {
@@ -192,10 +192,19 @@ code { font-size: 0.85em; }
192
192
 
193
193
  function searchDetectorConfig() {
194
194
  return {
195
- enabled: true,
196
- selector: ['[data-track="search"]'],
197
- selectorType: 'css',
198
- };
195
+ enabled: true,
196
+ sources: [
197
+ {
198
+ name: 'search-selector',
199
+ type: 'selector',
200
+ selector: [
201
+ '[data-track=\'search\']'
202
+ ],
203
+ selectorType: 'css',
204
+ trigger: 'click'
205
+ }
206
+ ]
207
+ };
199
208
  }
200
209
 
201
210
  function buildConfig() {
@@ -214,6 +223,45 @@ code { font-size: 0.85em; }
214
223
  timeoutMs: 10000,
215
224
  },
216
225
  identity: { ...base.identity, pixelId: PIXEL_ID },
226
+ commerce: {
227
+ enabled: true,
228
+ currency: 'BRL',
229
+ catalog: { products: [] },
230
+ cart: {
231
+ mode: 'single_product',
232
+ initialItems: [],
233
+ calculateValueFrom: 'cart',
234
+ allowDynamicItems: true,
235
+ },
236
+ mappings: {
237
+ attributes: {
238
+ productId: ['data-product-id'],
239
+ productName: ['data-product-name'],
240
+ price: ['data-product-price'],
241
+ quantity: ['data-quantity'],
242
+ currency: ['data-currency'],
243
+ },
244
+ fields: {
245
+ email: ['email'],
246
+ phone: ['phone'],
247
+ productId: ['productId'],
248
+ productName: ['productName'],
249
+ price: ['price'],
250
+ quantity: ['quantity'],
251
+ currency: ['currency'],
252
+ },
253
+ },
254
+ enrichment: {
255
+ pageView: { enabled: false, source: 'cart' },
256
+ viewContent: { enabled: true, source: 'event_or_cart' },
257
+ lead: { enabled: false, source: 'event_or_cart' },
258
+ addToCart: { enabled: true, source: 'event_or_cart' },
259
+ removeFromCart: { enabled: true, source: 'event_or_cart' },
260
+ initiateCheckout: { enabled: true, source: 'cart' },
261
+ addPaymentInfo: { enabled: true, source: 'cart' },
262
+ purchase: { enabled: true, source: 'cart' },
263
+ }
264
+ },
217
265
  modules: {
218
266
  ...base.modules,
219
267
  core: {
@@ -275,61 +323,28 @@ code { font-size: 0.85em; }
275
323
  integrations: { ...base.modules.integrations, enabled: false },
276
324
  conversion: {
277
325
  enabled: true,
278
- commerce: {
279
- currency: 'BRL',
280
- catalog: { products: [] },
281
- checkout: {
282
- mode: 'single_product',
283
- selectedItems: [],
284
- calculateValueFrom: 'selected_items',
285
- allowDynamicItems: true,
286
- },
287
- mappings: {
288
- attributes: {
289
- productId: ['data-product-id'],
290
- productName: ['data-product-name'],
291
- price: ['data-product-price'],
292
- quantity: ['data-quantity'],
293
- currency: ['data-currency'],
294
- },
295
- fields: {
296
- email: ['email'],
297
- phone: ['phone'],
298
- productId: ['productId'],
299
- productName: ['productName'],
300
- price: ['price'],
301
- quantity: ['quantity'],
302
- currency: ['currency'],
303
- },
304
- },
305
- },
306
326
  manual: {
307
327
  pageView: { enabled: false },
308
- purchase: { enabled: false },
309
- lead: { enabled: false },
310
- addToCart: { enabled: false },
311
- removeFromCart: { enabled: false },
312
- initiateCheckout: { enabled: false },
313
- addPaymentInfo: { enabled: false },
328
+ purchase: { enabled: false, sources: [] },
329
+ lead: { enabled: false, sources: [] },
330
+ addToCart: { enabled: false, sources: [] },
331
+ removeFromCart: { enabled: false, sources: [] },
332
+ initiateCheckout: { enabled: false, sources: [] },
333
+ addPaymentInfo: { enabled: false, sources: [] },
314
334
  search: { enabled: true },
315
- viewContent: { enabled: false },
335
+ viewContent: { enabled: false, sources: [] },
316
336
  },
317
337
  auto: {
318
338
  enabled: true,
319
339
  detectors: {
320
- lead: { enabled: false },
321
- purchase: { enabled: false },
322
- addToCart: { enabled: false },
323
- removeFromCart: { enabled: false },
324
- initiateCheckout: { enabled: false },
325
- addPaymentInfo: {
326
- enabled: false,
327
- paymentMethod: 'CREDIT_CARD',
328
- cardDetection: false,
329
- autoDispatch: false,
330
- },
340
+ lead: { enabled: false, sources: [] },
341
+ purchase: { enabled: false, sources: [] },
342
+ addToCart: { enabled: false, sources: [] },
343
+ removeFromCart: { enabled: false, sources: [] },
344
+ initiateCheckout: { enabled: false, sources: [] },
345
+ addPaymentInfo: { enabled: false, sources: [] },
331
346
  search: searchDetectorConfig(),
332
- viewContent: { enabled: false },
347
+ viewContent: { enabled: false, sources: [] },
333
348
  },
334
349
  },
335
350
  rules: {
@@ -186,10 +186,20 @@ code { font-size: 0.85em; }
186
186
 
187
187
  function searchDetectorConfig() {
188
188
  return {
189
- enabled: true,
190
- selector: ['#search-input', 'input[type="search"]'],
191
- selectorType: 'css',
192
- };
189
+ enabled: true,
190
+ sources: [
191
+ {
192
+ name: 'search-selector',
193
+ type: 'selector',
194
+ selector: [
195
+ '#search-input',
196
+ 'input[type=\'search\']'
197
+ ],
198
+ selectorType: 'css',
199
+ trigger: 'click'
200
+ }
201
+ ]
202
+ };
193
203
  }
194
204
 
195
205
  function buildConfig() {
@@ -208,6 +218,45 @@ code { font-size: 0.85em; }
208
218
  timeoutMs: 10000,
209
219
  },
210
220
  identity: { ...base.identity, pixelId: PIXEL_ID },
221
+ commerce: {
222
+ enabled: true,
223
+ currency: 'BRL',
224
+ catalog: { products: [] },
225
+ cart: {
226
+ mode: 'single_product',
227
+ initialItems: [],
228
+ calculateValueFrom: 'cart',
229
+ allowDynamicItems: true,
230
+ },
231
+ mappings: {
232
+ attributes: {
233
+ productId: ['data-product-id'],
234
+ productName: ['data-product-name'],
235
+ price: ['data-product-price'],
236
+ quantity: ['data-quantity'],
237
+ currency: ['data-currency'],
238
+ },
239
+ fields: {
240
+ email: ['email'],
241
+ phone: ['phone'],
242
+ productId: ['productId'],
243
+ productName: ['productName'],
244
+ price: ['price'],
245
+ quantity: ['quantity'],
246
+ currency: ['currency'],
247
+ },
248
+ },
249
+ enrichment: {
250
+ pageView: { enabled: false, source: 'cart' },
251
+ viewContent: { enabled: true, source: 'event_or_cart' },
252
+ lead: { enabled: false, source: 'event_or_cart' },
253
+ addToCart: { enabled: true, source: 'event_or_cart' },
254
+ removeFromCart: { enabled: true, source: 'event_or_cart' },
255
+ initiateCheckout: { enabled: true, source: 'cart' },
256
+ addPaymentInfo: { enabled: true, source: 'cart' },
257
+ purchase: { enabled: true, source: 'cart' },
258
+ }
259
+ },
211
260
  modules: {
212
261
  ...base.modules,
213
262
  core: {
@@ -269,61 +318,28 @@ code { font-size: 0.85em; }
269
318
  integrations: { ...base.modules.integrations, enabled: false },
270
319
  conversion: {
271
320
  enabled: true,
272
- commerce: {
273
- currency: 'BRL',
274
- catalog: { products: [] },
275
- checkout: {
276
- mode: 'single_product',
277
- selectedItems: [],
278
- calculateValueFrom: 'selected_items',
279
- allowDynamicItems: true,
280
- },
281
- mappings: {
282
- attributes: {
283
- productId: ['data-product-id'],
284
- productName: ['data-product-name'],
285
- price: ['data-product-price'],
286
- quantity: ['data-quantity'],
287
- currency: ['data-currency'],
288
- },
289
- fields: {
290
- email: ['email'],
291
- phone: ['phone'],
292
- productId: ['productId'],
293
- productName: ['productName'],
294
- price: ['price'],
295
- quantity: ['quantity'],
296
- currency: ['currency'],
297
- },
298
- },
299
- },
300
321
  manual: {
301
322
  pageView: { enabled: false },
302
- purchase: { enabled: false },
303
- lead: { enabled: false },
304
- addToCart: { enabled: false },
305
- removeFromCart: { enabled: false },
306
- initiateCheckout: { enabled: false },
307
- addPaymentInfo: { enabled: false },
323
+ purchase: { enabled: false, sources: [] },
324
+ lead: { enabled: false, sources: [] },
325
+ addToCart: { enabled: false, sources: [] },
326
+ removeFromCart: { enabled: false, sources: [] },
327
+ initiateCheckout: { enabled: false, sources: [] },
328
+ addPaymentInfo: { enabled: false, sources: [] },
308
329
  search: { enabled: true },
309
- viewContent: { enabled: false },
330
+ viewContent: { enabled: false, sources: [] },
310
331
  },
311
332
  auto: {
312
333
  enabled: true,
313
334
  detectors: {
314
- lead: { enabled: false },
315
- purchase: { enabled: false },
316
- addToCart: { enabled: false },
317
- removeFromCart: { enabled: false },
318
- initiateCheckout: { enabled: false },
319
- addPaymentInfo: {
320
- enabled: false,
321
- paymentMethod: 'CREDIT_CARD',
322
- cardDetection: false,
323
- autoDispatch: false,
324
- },
335
+ lead: { enabled: false, sources: [] },
336
+ purchase: { enabled: false, sources: [] },
337
+ addToCart: { enabled: false, sources: [] },
338
+ removeFromCart: { enabled: false, sources: [] },
339
+ initiateCheckout: { enabled: false, sources: [] },
340
+ addPaymentInfo: { enabled: false, sources: [] },
325
341
  search: searchDetectorConfig(),
326
- viewContent: { enabled: false },
342
+ viewContent: { enabled: false, sources: [] },
327
343
  },
328
344
  },
329
345
  rules: {