@@ -314,9 +314,10 @@ function instrumentTrackingEvents(main) {
314
314
ctaLocation = 'pick_your_plan' ;
315
315
} else if ( e . target . closest ( '.curated-products-pumpkin-wellness' ) ) {
316
316
ctaLocation = 'join_the_club_footer' ;
317
+ } else {
318
+ ctaLocation = 'join_the_club_banner' ;
317
319
}
318
320
trackCTAEvent ( ctaLocation ) ;
319
-
320
321
// track .button cta clicks for paid pages
321
322
} else if ( body . className . includes ( 'paid' ) ) {
322
323
if ( e . target . closest ( '.hero-paid-membership' ) ) {
@@ -335,17 +336,53 @@ function instrumentTrackingEvents(main) {
335
336
ctaLocation = 'body_1_cta' ;
336
337
} else if ( e . target . closest ( '.callout-get-a-quote2' ) ) {
337
338
ctaLocation = 'body_2_cta' ;
339
+ } else {
340
+ const containerBlock = e . target . closest ( '[data-block-name]' ) ;
341
+ // if containerBlock is null, fallback to sections
342
+ if ( containerBlock ) {
343
+ const blockList = document . querySelectorAll ( `[data-block-name=${ containerBlock . dataset . blockName } ]` ) ;
344
+ blockList . forEach ( ( block , key ) => {
345
+ if ( block === containerBlock ) {
346
+ ctaLocation = `${ containerBlock . dataset . blockName } _${ key } ` ;
347
+ }
348
+ } ) ;
349
+ } else {
350
+ // check for the closest section
351
+ const parentSection = e . target . closest ( '.section' ) ;
352
+ if ( parentSection ) {
353
+ const sectionList = document . querySelectorAll ( '.section' ) ;
354
+ sectionList . forEach ( ( section , key ) => {
355
+ if ( section === parentSection ) {
356
+ ctaLocation = `section_${ key } ` ;
357
+ }
358
+ } ) ;
359
+ }
360
+ }
338
361
}
339
362
trackCTAEvent ( ctaLocation ) ;
340
363
return ;
341
364
} else {
342
365
const containerBlock = e . target . closest ( '[data-block-name]' ) ;
343
- const blockList = document . querySelectorAll ( `[data-block-name=${ containerBlock . dataset . blockName } ]` ) ;
344
- blockList . forEach ( ( block , key ) => {
345
- if ( block === containerBlock ) {
346
- ctaLocation = `${ containerBlock . dataset . blockName } _${ key } ` ;
366
+ // if containerBlock is null, fallback to sections
367
+ if ( containerBlock ) {
368
+ const blockList = document . querySelectorAll ( `[data-block-name=${ containerBlock . dataset . blockName } ]` ) ;
369
+ blockList . forEach ( ( block , key ) => {
370
+ if ( block === containerBlock ) {
371
+ ctaLocation = `${ containerBlock . dataset . blockName } _${ key } ` ;
372
+ }
373
+ } ) ;
374
+ } else {
375
+ // check for the closest section
376
+ const parentSection = e . target . closest ( '.section' ) ;
377
+ if ( parentSection ) {
378
+ const sectionList = document . querySelectorAll ( '.section' ) ;
379
+ sectionList . forEach ( ( section , key ) => {
380
+ if ( section === parentSection ) {
381
+ ctaLocation = `section_${ key } ` ;
382
+ }
383
+ } ) ;
347
384
}
348
- } ) ;
385
+ }
349
386
trackCTAEvent ( ctaLocation ) ;
350
387
return ;
351
388
}
0 commit comments