Skip to content

Commit 7884764

Browse files
committed
update tracking
1 parent 8d63436 commit 7884764

File tree

4 files changed

+24
-24
lines changed

4 files changed

+24
-24
lines changed

.vitepress/theme/components/SponsorsGroup.vue

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
import { onMounted, onUnmounted } from 'vue'
33
import { SponsorData, data, base, load } from './sponsors'
44
5+
type Placement = 'aside' | 'page' | 'landing'
6+
57
const { tier, placement = 'aside' } = defineProps<{
68
tier: keyof SponsorData
7-
placement?: 'aside' | 'page' | 'landing'
9+
placement?: Placement
810
}>()
911
1012
let container = $ref<HTMLElement>()
@@ -28,8 +30,15 @@ onMounted(async () => {
2830
await load()
2931
})
3032
31-
function track(sponsorID: string) {
32-
fathom.trackGoal(`sponsor-click-${placement}-${sponsorID}`, 0)
33+
// fathom events
34+
const eventMap: Record<Placement, string> = {
35+
aside: '4QUPDDRU',
36+
landing: '58FLAR2Z',
37+
page: 'ZXLO3IUT'
38+
}
39+
40+
function track(interest?: boolean) {
41+
fathom.trackGoal(interest ? `Y2BVYNT2` : eventMap[placement], 0)
3342
}
3443
</script>
3544

@@ -46,7 +55,7 @@ function track(sponsorID: string) {
4655
:href="url"
4756
target="_blank"
4857
rel="sponsored noopener"
49-
@click="track(name)"
58+
@click="track()"
5059
>
5160
<picture v-if="img.endsWith('png')">
5261
<source
@@ -62,7 +71,7 @@ function track(sponsorID: string) {
6271
v-if="placement !== 'page' && tier !== 'special'"
6372
href="/sponsor/"
6473
class="sponsor-item action"
65-
@click="track('INTEREST')"
74+
@click="track(true)"
6675
>Your logo</a
6776
>
6877
</div>

src/partners/components/PartnerCard.vue

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
22
import { Partner } from './type'
3-
import { normalizeName, getHero, getLogo } from './utils'
3+
import { normalizeName, getHero, getLogo, track } from './utils'
44
import Location from './PartnerLocation.vue'
55
66
const { data, hero, page } = defineProps<{
@@ -19,10 +19,6 @@ const {
1919
flipLogo,
2020
website
2121
} = data
22-
23-
function track(id: string, linkType: string) {
24-
fathom.trackGoal(`partner-click-${id}-${linkType}`, 0)
25-
}
2622
</script>
2723

2824
<template>
@@ -33,7 +29,7 @@ function track(id: string, linkType: string) {
3329
:href="'/partners/' + normalizeName(name) + '.html'"
3430
>
3531
<div class="info">
36-
<a :href="website.url" target="_blank" @click="track(name, 'logo')">
32+
<a :href="website.url" target="_blank" @click="track">
3733
<img
3834
class="logo dark"
3935
v-if="hero && flipLogo"

src/partners/components/PartnerPage.vue

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script setup lang="ts">
22
import data from '../partners.json'
33
import { Partner } from './type'
4-
import { normalizeName } from './utils'
4+
import { normalizeName, track } from './utils'
55
import PartnerCard from './PartnerCard.vue'
66
import { VTIconChevronLeft } from '@vue/theme'
77
@@ -18,10 +18,6 @@ const { name, description, hiring, contact, website } = p
1818
function genMailLink(email: string) {
1919
return `mailto:${email}?subject=Looking for a Vue.js Partner`
2020
}
21-
22-
function track(id: string, linkType: string) {
23-
fathom.trackGoal(`partner-click-${id}-${linkType}`, 0)
24-
}
2521
</script>
2622

2723
<template>
@@ -40,25 +36,20 @@ function track(id: string, linkType: string) {
4036
</div>
4137

4238
<div class="actions">
43-
<a
44-
:href="website.url"
45-
target="_blank"
46-
@click="track(name, 'website')"
39+
<a :href="website.url" target="_blank" @click="track"
4740
>Visit Website</a
4841
>
4942
<a
5043
class="contact"
5144
:href="genMailLink(contact)"
5245
target="_blank"
53-
@click="track(name, 'tracking')"
46+
@click="track"
5447
>Contact</a
5548
>
5649
</div>
5750

5851
<div class="hiring" v-if="hiring">
59-
<a :href="hiring" @click="track(name, 'hiring')"
60-
>{{ name }} is hiring!</a
61-
>
52+
<a :href="hiring" @click="track">{{ name }} is hiring!</a>
6253
</div>
6354
</div>
6455
</template>

src/partners/components/utils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
export function track() {
2+
fathom.trackGoal('TTDUIE6G', 0)
3+
}
4+
15
export function normalizeName(name: string) {
26
return name.toLowerCase().replace(/\s+/g, '')
37
}

0 commit comments

Comments
 (0)