diff --git a/src/components/Thanks/ThanksPageSingleVersion.vue b/src/components/Thanks/ThanksPageSingleVersion.vue index b3f0964c61..bc618a64d2 100644 --- a/src/components/Thanks/ThanksPageSingleVersion.vue +++ b/src/components/Thanks/ThanksPageSingleVersion.vue @@ -10,40 +10,38 @@ class="print:tw-hidden tw-mb-2.5" /> - + + (props.isGuest ? 'guest' : 'signed-in')); // Handle when a guest doesn't have access to achievement data but at least achieved the equity badge const numberOfBadges = computed(() => (props.badgesAchieved.length || 1)); -const showOptInModule = computed(() => !props.isOptedIn); - const onlyDonations = computed(() => ( (props.receipt && props.receipt?.totals?.itemTotal === props.receipt?.totals?.donationTotal) || !!props.monthlyDonationAmount?.length @@ -161,6 +159,13 @@ const loanForComment = computed(() => { return orderedLoans[0]; }); +const showOptInModule = computed(() => !props.isOptedIn); +const showKivaCardsModule = computed(() => printableKivaCards.value.length); +const showBadgeModule = computed(() => props.myKivaEnabled && props.badgesAchieved.length > 0); +const showJourneyModule = computed(() => props.myKivaEnabled && !showBadgeModule.value); +const showControlModule = computed(() => !props.myKivaEnabled); +const showLoanComment = computed(() => !!loanForComment.value); + const showConfetti = () => { confetti({ origin: { @@ -182,7 +187,6 @@ const scrollToReceipt = () => { }; const handleContinue = () => { - const EVENT_CATEGORY = 'post-checkout'; const CLICK_EVENT_ACTION = 'click'; if (props.isGuest) { @@ -209,7 +213,34 @@ const handleContinue = () => { } }; -onMounted(showConfetti); +onMounted(() => { + showConfetti(); + + const isOptInLoan = showOptInModule.value && props.loans.length > 0; + const isOptInDonate = showOptInModule.value && onlyDonations.value; + + const analyticsModuleOrder = [ + userType.value, + isOptInLoan ? 'optInLoan' : '', + isOptInDonate ? 'optInDonate' : '', + showOptInModule.value && !isOptInLoan && !isOptInDonate ? 'optInOther' : '', + showKivaCardsModule.value ? 'kivaCard' : '', + showBadgeModule.value ? 'journeyBadgeEarned' : '', + showJourneyModule.value ? 'journeyBadgeNotEarned' : '', + showControlModule.value ? 'journeyGeneral' : '', + showLoanComment.value ? 'commenting' : '', + props.isGuest ? 'drawerCreateAccount' : '', + 'drawerOrderConfirmation', + 'drawerShare', + ].filter(s => !!s).join('-'); + + $kvTrackEvent( + EVENT_CATEGORY, + 'view', + 'unified-thanks', + analyticsModuleOrder, + ); +});