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
High FPS • Esports • Next Gen Gaming
Creator • AI • Rendering • Gaming
Performance • Value • Fully Tested
Complete Setup • Ready To Play • High FPS Gaming
gaming pc part exchange service
Trade in graphics cards, gaming pcs and components for fast payouts.
Buy an Andromeda Gaming pre-built computer today.
Each PC is expertly assembled by our team to the highest standards. Every PC comes ready to plug in and play, Bios updated, Drivers and windows installed. Just simply download your favourite games and play!
Save time and money with Andromeda PC Gaming
Ready to game! Every computer comes fully configured with everything you need installed. All you have to do is download your favourite games.
gaming pc part exchange service
Trade in graphics cards, gaming pcs and components for fast payouts.
Customer Reviews for Andromeda PC Gaming Read customer reviews for Andromeda PC Gaming, including feedback on gaming PCs, refurbished systems, custom build requests, repairs, upgrades and customer support.
bottom of page