Send utm info to analytics

This commit is contained in:
ernstmul
2025-03-13 12:40:02 +01:00
parent 79cb166468
commit 3b6cb316bb
3 changed files with 33 additions and 0 deletions
+3
View File
@@ -6,6 +6,7 @@ import { user } from '$lib/stores/user';
import { ENV, MODE, VARS, isCloud } from '$lib/system';
import { AppwriteException } from '@appwrite.io/console';
import { browser } from '$app/environment';
import { getReferrerAndUtmSource } from '$lib/helpers/utm';
function plausible(domain: string): AnalyticsPlugin {
if (!browser) return { name: 'analytics-plugin-plausible' };
@@ -65,6 +66,8 @@ export function trackEvent(name: string, data: object = null): void {
};
}
data = { ...data, ...getReferrerAndUtmSource() };
if (ENV.DEV || ENV.PREVIEW) {
console.debug(`[Analytics] Event ${name} ${path}`, data);
} else {
+17
View File
@@ -0,0 +1,17 @@
export function getReferrerAndUtmSource() {
if (sessionStorage) {
let values = {};
if (sessionStorage.getItem('utmReferral')) {
values = { ...values, utmReferral: sessionStorage.getItem('utmReferral') };
}
if (sessionStorage.getItem('utmSource')) {
values = { ...values, utmSource: sessionStorage.getItem('utmSource') };
}
if (sessionStorage.getItem('utmMedium')) {
values = { ...values, utmMedium: sessionStorage.getItem('utmMedium') };
}
return values;
}
return {};
}
+13
View File
@@ -32,6 +32,19 @@
if (ref || referrer || utmSource || utmCampaign || utmMedium) {
sdk.forConsole.sources.create(ref, referrer, utmSource, utmCampaign, utmMedium);
}
if (referrer || ref) {
sessionStorage.setItem('utmReferral', referrer ? referrer : (ref ?? ''));
}
if (utmSource) {
sessionStorage.setItem('utmSource', utmSource);
}
if (utmMedium) {
sessionStorage.setItem('utmMedium', utmMedium);
}
if (utmCampaign) {
sessionStorage.setItem('utmCampaign', utmCampaign);
}
}
if ($page.url.searchParams.has('migrate')) {