const META_PIXEL_ID = '928148220152550'; (function (f, b, e, v, n, t, s) { if (typeof window === 'undefined' || typeof document === 'undefined') return; if (f.fbq) return; n = f.fbq = function () { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments); }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = true; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = true; t.src = v; s = b.getElementsByTagName(e)[0]; if (s && s.parentNode) s.parentNode.insertBefore(t, s); })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js'); let pixelInitialized = false; let initializedWithAdvancedMatching = false; function toNumber(value) { const n = parseFloat(value); return Number.isFinite(n) ? n : undefined; } function normalizeId(id) { if (id == null) return undefined; return String(id); } function getPageData() { return { event_source_url: window.location.href, }; } function cleanObject(obj) { return Object.fromEntries( Object.entries(obj).filter(([, value]) => value !== undefined) ); } function ensurePixelInit(advancedMatching) { if (typeof fbq === 'undefined') return; const matching = advancedMatching || {}; const hasAdvancedMatching = Object.keys(matching).length > 0; if (!pixelInitialized) { fbq('init', META_PIXEL_ID, hasAdvancedMatching ? matching : {}); pixelInitialized = true; initializedWithAdvancedMatching = hasAdvancedMatching; return; } if (hasAdvancedMatching && !initializedWithAdvancedMatching) { fbq('init', META_PIXEL_ID, matching); initializedWithAdvancedMatching = true; } } function buildAdvancedMatching(data) { const source = data || {}; const advanced = {}; if (source.email) advanced.em = source.email; if (source.phone) advanced.ph = source.phone; if (source.firstName) advanced.fn = source.firstName; if (source.lastName) advanced.ln = source.lastName; if (source.city) advanced.ct = source.city; if (source.state) advanced.st = source.state; if (source.zip) advanced.zp = source.zip; if (source.country) advanced.country = source.country; return advanced; } function trackPageView() { ensurePixelInit(); fbq('track', 'PageView', cleanObject({ ...getPageData(), })); } function trackViewContent(product) { const source = product || {}; ensurePixelInit(); const contentId = normalizeId(source.variantId) || normalizeId(source.productId) || normalizeId(source.id); const payload = cleanObject({ ...getPageData(), content_ids: contentId ? [contentId] : undefined, contents: contentId ? [{ id: contentId, quantity: 1 }] : undefined, content_type: 'product', content_name: source.name || source.title, value: toNumber(source.price), currency: source.currency, }); fbq('track', 'ViewContent', payload); } function trackAddToCart(item) { const source = item || {}; ensurePixelInit(); const contentId = normalizeId(source.variantId) || normalizeId(source.productId) || normalizeId(source.id); const quantity = source.quantity || 1; const payload = cleanObject({ ...getPageData(), content_ids: contentId ? [contentId] : undefined, contents: contentId ? [{ id: contentId, quantity: quantity }] : undefined, content_type: 'product', content_name: source.name || source.title, value: toNumber(source.price), currency: source.currency, }); fbq('track', 'AddToCart', payload); } function trackInitiateCheckout(checkout) { const source = checkout || {}; ensurePixelInit(); const lineItems = Array.isArray(source.lineItems) ? source.lineItems : []; const contents = lineItems .map(function (item) { const id = normalizeId(item.variantId) || normalizeId(item.productId) || normalizeId(item.id); return cleanObject({ id: id, quantity: item.quantity || 1, item_price: toNumber(item.price), }); }) .filter(function (item) { return item.id; }); const contentIds = contents.map(function (item) { return item.id; }); const numItems = lineItems.reduce(function (sum, item) { return sum + (item.quantity || 0); }, 0); const payload = cleanObject({ ...getPageData(), content_ids: contentIds.length ? contentIds : undefined, contents: contents.length ? contents : undefined, content_type: 'product', value: toNumber(source.value || source.total), currency: source.currency, num_items: numItems || undefined, }); fbq('track', 'InitiateCheckout', payload); } window.metaPixel = { ensurePixelInit: ensurePixelInit, buildAdvancedMatching: buildAdvancedMatching, trackPageView: trackPageView, trackViewContent: trackViewContent, trackAddToCart: trackAddToCart, trackInitiateCheckout: trackInitiateCheckout, };
top of page

There’s Nothing Here...

We can’t find the page you’re looking for.
Check the URL, or head back home.

bottom of page