diff --git a/src/lib/metapixel/MetaPixel.svelte b/src/lib/metapixel/MetaPixel.svelte index d3db5e5..20595c3 100644 --- a/src/lib/metapixel/MetaPixel.svelte +++ b/src/lib/metapixel/MetaPixel.svelte @@ -10,7 +10,7 @@ PixelControl interface. import type { TrackingManager } from '../tracking.svelte.ts'; import { onNavigate } from '$app/navigation'; - import { PixelControl, type PixelControlOptions } from './pixel-control.svelte.ts'; + import { PixelControl, type PixelControlOptions } from './pixel-control.ts'; import { ensureFbc, type EnsureFbcOptions } from './fbc.ts'; interface Props { @@ -38,22 +38,20 @@ PixelControl interface. let pixel = $state(null); - const ensureFbcOptions: EnsureFbcOptions = $derived({ - sameSite: 'Lax', - pixelLoaded: PixelControl.baseLoaded && !PixelControl.baseFailed - }); + const fbcOptions: EnsureFbcOptions = { + sameSite: 'Lax' + }; onMount(() => { if (!trackingManager) { throw new Error('MetaPixel component requires a TrackingManager to manage consent.'); } - PixelControl.load(); pixel = PixelControl.initialize(trackingManager, pixelID, pixelOptions); trackingManager.runWithConsent(() => { if (autoPageView && pixel) { pixel.pageView(); - ensureFbc(ensureFbcOptions); + ensureFbc(fbcOptions); } }); }); @@ -62,7 +60,7 @@ PixelControl interface. trackingManager?.runWithConsent(() => { if (autoPageView && pixel) { pixel.pageView(); - ensureFbc(ensureFbcOptions); + ensureFbc(fbcOptions); } }); }); diff --git a/src/lib/metapixel/pixel-control.svelte.ts b/src/lib/metapixel/pixel-control.ts similarity index 93% rename from src/lib/metapixel/pixel-control.svelte.ts rename to src/lib/metapixel/pixel-control.ts index 7017c01..1a6cfce 100644 --- a/src/lib/metapixel/pixel-control.svelte.ts +++ b/src/lib/metapixel/pixel-control.ts @@ -68,8 +68,7 @@ export class PixelControl { private _trackingManager: MaybeGetter; private _conversionClient?: ConversionClient = undefined; - private static _baseLoaded: boolean = $state(false); - private static _baseFailed: boolean = $state(false); + private static _baseLoaded: boolean = false; private static _registeredPixels: Record = {}; /** Indicates whether the Meta Pixel base script has been loaded. */ @@ -77,11 +76,6 @@ export class PixelControl { return this._baseLoaded; } - /** Indicates whether the Meta Pixel base script has failed to load. */ - static get baseFailed(): boolean { - return this._baseFailed; - } - /** * Ensures that the Meta Pixel base has been loaded before * allowing further operations. @@ -116,20 +110,11 @@ export class PixelControl { } /** Loads the Meta Pixel base script. */ - static async load() { - if (this._baseLoaded && !this.baseFailed && !!window.fbq) return; - if (!window.fbq) { - try { - await loadMetaPixel(); // Load the Meta Pixel script - } catch (e) { - log.warn('[PixelControl] Failed to load Meta Pixel script, all events will be queued.', e); - this._baseFailed = true; - return; - } finally { - this._baseLoaded = true; - } - } - log.debug('[PixelControl] Meta Pixel base script loaded.'); + static load() { + if (this._baseLoaded && !!window.fbq) return; + loadMetaPixel(); // Load the Meta Pixel script + this._baseLoaded = true; + log.debug('[PixelControl] Meta Pixel base script loaded.', this._baseLoaded); } /** Tells the Meta pixel that the user has given consent for tracking. */