Sisällysluettelo
ChatGPT-pikselin saa asennettua Shopifyyn ilman sovellusta, ilman GTM:ää ja ilman teemamuokkauksia – suoraan Shopifyn omaan Custom Pixel -järjestelmään. Tässä ohjeessa käymme läpi asennuksen vaihe vaiheelta ja annamme valmiin pikselikoodin suoraan kopioitavaksi.
Mitä tarvitset ennen asennusta
Tarvitset vain Pixel ID:n – löytyy OpenAI Ads Managerista kohdasta Tools → Conversions → Pixel – sekä Shopify-kaupan admin-oikeudet. Conversions API -avainta (CAPI) ei tarvita tähän asennukseen.
Asennus: Shopify Customer Events
- Mene kohtaan Settings → Customer events
- Klikkaa Add custom pixel ja anna nimeksi esim.
ChatGPT Ads Pixel - Aseta Customer Privacy -asetuksiksi: Permission = Required, kategoriat Marketing ja Analytics
- Kopioi alla oleva koodi editoriin ja vaihda
YOUR_PIXEL_IDomaksesi - Klikkaa Save
Permission = Required tarkoittaa, että Shopifyn oma suostumusbanneri hallitsee pikselin aktivoitumista automaattisesti. Erillistä consent-logiikkaa koodiin ei tarvita.
Pikselikoodi
Kopioi koko koodi Customer Events -editoriin. Muista vaihtaa YOUR_PIXEL_ID.
Näytä pikselikoodi ↓
// ── 1. Lataa OpenAI Pixel SDK ─────────────────────────────────────
(function (w, d, s, u) {
if (w.oaiq) return;
var q = function () { q.q.push(arguments); };
q.q = [];
w.oaiq = q;
var js = d.createElement(s);
js.async = true;
js.src = u;
var f = d.getElementsByTagName(s)[0];
f.parentNode.insertBefore(js, f);
})(window, document, "script", "https://bzrcdn.openai.com/sdk/oaiq.min.js");
oaiq("init", {
pixelId: "YOUR_PIXEL_ID",
});
// ── 2. Standardit e-commerce-tapahtumat ──────────────────────────
analytics.subscribe("all_standard_events", (event) => {
switch (event.name) {
case "page_viewed":
oaiq("measure", "page_viewed", { type: "contents" });
break;
case "product_viewed":
var p = event.data && event.data.productVariant;
oaiq("measure", "contents_viewed", {
type: "contents",
contents: [{ id: p && p.sku || p && p.id, name: p && p.product && p.product.title, content_type: "product" }],
});
break;
case "product_added_to_cart":
var line = event.data && event.data.cartLine;
var m = line && line.merchandise;
oaiq("measure", "items_added", {
type: "contents",
amount: Math.round(((line && line.cost && line.cost.totalAmount && line.cost.totalAmount.amount) || 0) * 100),
currency: (line && line.cost && line.cost.totalAmount && line.cost.totalAmount.currencyCode) || "EUR",
contents: [{ id: m && m.sku || m && m.id, name: m && m.product && m.product.title, content_type: "product", quantity: (line && line.quantity) || 1 }],
});
break;
case "checkout_started":
var cs = event.data && event.data.checkout;
oaiq("measure", "checkout_started", {
type: "contents",
amount: Math.round(((cs && cs.totalPrice && cs.totalPrice.amount) || 0) * 100),
currency: (cs && cs.totalPrice && cs.totalPrice.currencyCode) || "EUR",
contents: ((cs && cs.lineItems) || []).map(function(i) {
return { id: (i && i.variant && i.variant.sku) || (i && i.variant && i.variant.id), name: i && i.title, content_type: "product", quantity: i && i.quantity };
}),
});
break;
case "checkout_completed":
var co = event.data && event.data.checkout;
oaiq("measure", "order_created", {
type: "contents",
amount: Math.round(((co && co.totalPrice && co.totalPrice.amount) || 0) * 100),
currency: (co && co.totalPrice && co.totalPrice.currencyCode) || "EUR",
contents: ((co && co.lineItems) || []).map(function(i) {
return { id: (i && i.variant && i.variant.sku) || (i && i.variant && i.variant.id), name: i && i.title, content_type: "product", quantity: i && i.quantity };
}),
});
break;
}
});
// ── 3. Lomakelähetykset ───────────────────────────────────────────
analytics.subscribe("form_submitted", (event) => {
var element = event.data.element;
var action = element.action || "";
var formId = element.id || "";
var keywords = ["contact", "newsletter", "email", "subscribe"];
var isLead = keywords.some(function(k) {
return action.includes(k) || formId.includes(k);
});
if (isLead) {
oaiq("measure", "lead_created", { type: "customer_action" });
} else {
oaiq("measure", "custom", { type: "custom" }, { custom_event_name: "form_submitted_other" });
}
});
// ── 4. Mailto- ja tel-linkkien klikkaukset ────────────────────────
analytics.subscribe("clicked", (event) => {
var href = event.data.element.href || "";
if (href.startsWith("mailto:")) {
oaiq("measure", "custom", { type: "custom" }, { custom_event_name: "mailto_click" });
} else if (href.startsWith("tel:")) {
oaiq("measure", "custom", { type: "custom" }, { custom_event_name: "tel_click" });
}
});
Mitä tapahtumia seurataan
Koodi seuraa kahdeksan tapahtumaa automaattisesti:
- page_viewed – sivulataukset
- contents_viewed – tuotesivun katselut
- items_added – lisäykset ostoskoriin
- checkout_started – kassan avaaminen
- order_created – osto suoritettu (tärkein konversiotapahtuma)
- lead_created – yhteydenotto- tai uutiskirjelomakkeen lähetys
- mailto_click – sähköpostilinkin klikkaus (custom event)
- tel_click – puhelinnumeron klikkaus (custom event)
Testaus
- Avaa kauppa incognito-ikkunassa ilman mainosblokkereita
- Avaa Network-välilehti ja suodata
bzrcdn– pyyntöjen pitäisi näkyä muutaman sekunnin kuluessa - OpenAI Ads Managerissa: Tools → Conversions → Event Stream → Start Polling – tapahtumat näkyvät 5–15 min viiveellä
Kampanjaoptimointi: mikä tapahtuma valita
oCPC-kampanjat tukevat yhtä optimointitapahtumaa per kampanja. Valitse sen mukaan mikä on tavoitteesi:
- Verkkokauppa →
order_created - Liidigenerointi →
lead_created
Muut tapahtumat näkyvät dashboardissa datana, mutta niitä ei käytetä optimoinnissa. mailto_click ja tel_click ovat custom-tapahtumia – ne eivät kelpaa oCPC-konversiotavoitteeksi.
Jos haluat apua asennuksessa tai ChatGPT Ads -kampanjan käynnistämisessä, varaa maksuton auditointi tai tutustu ChatGPT-mainonta-palvelusivuumme.