Værdien ved integrationen
Styrket loyalitet
Marketing automation og personlige beskeder gør det muligt for webshops at engagere besøgende og kunder med skræddersyet indhold, hvilket skaber en dybere forbindelse og øget loyalitet.
Forbedret kundeoplevelse
Ved at sende rettidige og relevante beskeder baseret på realtidsdata kan webshops forbedre den samlede oplevelse ved at tilbyde værdifuld information, kampagner og tilbud, der matcher kundernes interesser og behov.
Målrettet kommunikation
Avancerede segmenteringsmuligheder gør det muligt at kommunikere målrettet, så webshops kan nå specifikke målgrupper med personliggjorte budskaber tilpasset disses demografi, præferencer og adfærd.
Forudsigelse og forebyggelse af frafald
Marketing automation-værktøjer hjælper med at identificere medlemmer i risiko for frafald ved at analysere deres engagement og besøgsadfærd, og muliggør proaktive strategier for at fastholde dem gennem målrettede kampagner og incitamenter.
Effektiviserede processer
Ved at automatisere marketingprocesser og bruge personlige beskeder kan webshops effektivisere driften, spare tid og ressourcer, og samtidig levere relevante og effektfulde budskaber til deres målgruppe.
Gør dine webshop besøgende til loyale kunder. Med 2-vejsintegrationen mellem Heyloyalty og Shopify kan du lave effektiv e-mail marketing og marketing automation baseret på data fra din webshop.
Inden du starter
For at gøre det nemmest for dig selv, anbefaler vi, at du læser de ofte stillede spørgsmål samt finder de forskellige dokumenter, id’er, loginoplysninger o.lign. frem, som du skal bruge til opsætningen. Se mere herunder.
Ofte stillede spørgsmål
Skal jeg bruge en udvikler?
Nej. Men hvis du er usikker på, hvordan du installerer en extension fra Shopify app, kan det give mening at alliere sig med en kollega.
Hvor lang tid tager det at blive færdig med at sætte integrationen op?
Fem minutter og et par minutters forberedelse til at finde tingene fra nedenstående liste frem først.
Henter integrationen bagudrettet data?
Ja, hvis du lige trykker på en enkelt knap i løbet af opsætningen.
Skal jeg bruge adgang til andre systemer?
Det er nemmest, hvis du allerede har en aktiv konto ved Heyloyalty. Du kan dog godt oprette en Heyloyalty-konto ifm. opsætning af integrationen, hvor du i givet fald skal bruge firmanavn, fornavn, efternavn, e-mail, telefonnummer og CVR-nummer.
Hvilke data bliver importeret?
Læs afsnittet Felter i integrationen nederst på denne side for at få det fulde overblik.
Kan jeg segmentere på data, der kommer via integrationen?
Ja. Alt data, der kommer via integrationen, kan du bruge til at segmentere din fremtidige kommunikation. Du kan også bruge denne data til at starte og stoppe dine flows.
Det skal du bruge til at sætte integrationen op
Skal jeg bruge en udvikler? Nej
Kan jeg selv sætte det op? Ja
Du bør have Heyloyalty og Shopify-shoppen åben i hver sin fane i din browser. I Heyloyalty skal du bruge følgende
- Hvis du har enten Premium eller Premium+ licens i Heyloyalty:
Trackingintegration på førnævnte liste
Hvis du har en Basic-licens, kan du ignorere dette
- API nøgle (i Heyloyalty: Indstillinger –> Kontooplysninger –> API nøgle)
- API secret (i Heyloyalty: Indstillinger –> Kontooplysninger –> API secret)
Integrationen opererer via Shopifys API og Heyloyaltys trackingdatabase. Læs mere om Tracking her.
Opsætning af integrationen
Med ovenstående forberedelse er du nu klar til at opsætte integrationen mellem Shopify og Heyloyalty.
Tracking (hvis din licens er enten Premium eller Premium+)
Inden du opsætter integrationen til Shopify, skal du have opsat en tracking integration. Du læser her hvordan du sætter den op. I opsættelse af tracking integrationen, skal du vælge hvilken liste tracking skal overføres til, da der ikke er oprettet en liste fra integrationen i nu, skal du bare anvende en midlertidig liste. Hvis du ikke har en liste, kan du læse her, hvordan du opretter en.
Spring dette trin over, hvis du har Basic-licens.
Opsæt Tracking ved at klikke på Integrationer –> Listeintegrationer –> Tracking –> Opsæt integration –> Opret ny Tracking

Udfyld felterne. Sørg for at tilknytte et produktfeed. Antal besøg på kategori og Antal dage besøgene er over er vigtige at forholde sig til, da de har betydning for, hvornår en kategoriinteresse vil trigge. En tommelfingerregel – der kan være mere eller mindre god afhængig af dine gæsters typiske købsmønstre og -frekvenser – er at sætte Antal besøg på kategori til at være tre og Antal dage besøgene er over kan være syv.
Sessionstid skal være et tal, og det skal være det samme, som i dit script. Typsik anbefaler vi 45 minutter, så hvis du følger den anbefaling, skal du skrive 45 i det felt.
Opsætning af integrationen
Find Heyloyalty-appen i Shopify. Log ind i Shopify –> Apps –> Tilføj apps –> Udforsk mere i Shopify App Store


Et nyt vindue åbner.
Søg efter Heyloyalty og klik Installér. Et nyt vindue åbner igen og klik nu på Installer.


Et nyt vindue åbner igen.
Har du allerede en konto ved Heyloyalty?
Du skal nu forholde dig til, om du har en aktiv konto ved Heyloyalty eller ej.
Du har allerede en konto ved Heyloyalty
Vælg Click here to setup, hvis du allerede har en aktiv konto.

Log ind ved at klikke på Click here to log in og log ind i Heyloyalty for at finde din API nøgle og API secret – disse skulle du dog gerne have fundet på forhånd under punktet Det skal du bruge til at sætte integrationen op.
Udfyld API Key og API Secret og afslut med Save connection info.

Den tænker nu lige i nogle sekunder. Når du ser denne besked, kan du klikke Close
Gå herefter til Aktivér webhooks.
Du har ikke en konto ved Heyloyalty
Hvis du ikke har en aktiv konto ved Heyloyalty, så vælg Create my account og udfyld felterne:

Aktivér webhooks
Du skal nu aktivere webhooks ved at klikke på knappen Activate webhooks.

Herefter skal du kunne se beskeden Shopify Webhooks is active.
Import af bagudrettet data
For at importere bagudrettet data skal du blot klikke på Import all data.

Afhængig af hvor meget data du har i din webshop, kan det tage et stykke tid. Importen er dog i kø nu, og du kan gå videre til at indsætte dit tracking script.

Indsæt tracking script
For at du kan få data i Heyloyalty om, hvilke produkter dine brugere besøger, hvilke produkter de lægger i kurven, og hvilke produkter de køber, skal du indsætte nedenstående tracking-script på din webshop.
APIKey findes her i Heyloyalty:
Brugermenu 👤⚙️ –> Kontooplysninger –> API informationer –> API nøgle
Tracking id findes her i Heyloyalty:
Integrationer –> Listeintegrationer –> Tracking –> Rediger integration –> *Find dit Tracking id i fjerde kolonne*
(function () {
// Helper function to generate a unique ID
function generateUUID() {
return 'xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
const r = (Math.random() * 16) | 0;
const v = c === 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
// Helper function to get or set a cookie
function getOrSetCookie(name, value, minutes) {
const existingCookie = document.cookie.split('; ').find((row) => row.startsWith(name + '='));
if (existingCookie) {
return existingCookie.split('=')[1];
}
if (value) {
const expires = new Date();
expires.setTime(expires.getTime() + minutes * 60 * 1000);
document.cookie = `${name}=${value}; expires=${expires.toUTCString()}; path=/;`;
return value;
}
return null;
}
// Generate or retrieve the CookieID (persistent for 1 year)
const HLcookieID = getOrSetCookie('HLcookieID', generateUUID(), 365 * 24 * 60); // 1 year in minutes
// Generate or retrieve the SessionID (valid for 5 minutes)
const HLsessionID = getOrSetCookie('HLsessionID', generateUUID(), 45); // 45-minute lifetime
// Log the IDs for debugging
//console.log('HLCookieID:', HLcookieID);
//console.log('HLSessionID:', HLsessionID);
const APIkey = "XXXXXXXX";
const integrationId = "XXXXX";
// Example: Dispatch a custom Shopify event with the IDs
analytics.subscribe('page_viewed', () => {
const eventPayload = {
event_name: 'page_viewed',
HLsessionID: HLsessionID,
HLcookieID: HLcookieID,
};
//console.log('Custom Page Viewed Event:', eventPayload);
});
var productView = false;
analytics.subscribe("product_viewed", event => {
// Example: Send this data to an external tracking service (optional)
const productId = event.data.productVariant.id;
const url = event.context.window.location.href;
productView = true;
protocol = "https:" == document.location.protocol ? "https://" : "http://",
source = protocol + 'tracking.heyloyalty.com/' + "visit" + '/' + APIkey + '?' + "cookie=" + HLcookieID + "&session=" + HLsessionID + "&integrationId=" + integrationId + "&productId=" + productId + '&url=' + url,
xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.send();
if (url.indexOf("hlId=")>-1){
const queryString = window.location.search;
const urlParams = new URLSearchParams(url);
const email = urlParams.get('hlId')
protocol = "https:" == document.location.protocol ? "https://" : "http://",
source = protocol + 'tracking.heyloyalty.com/' + "pairEmail" + '/' + APIkey + '?' + "cookie=" + HLcookieID + "&session=" + HLsessionID + "&integrationId=" + integrationId + "&email=" + email + '&url=' + url,
xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.send();
}
});
analytics.subscribe("page_viewed", event => {
const url = event.context.window.location.href;
//console.log(productView)
if(productView){
return
}
protocol = "https:" == document.location.protocol ? "https://" : "http://",
source = protocol + 'tracking.heyloyalty.com/' + "visit" + '/' + APIkey + '?' + "cookie=" + HLcookieID + "&session=" + HLsessionID + "&integrationId=" + integrationId + '&url=' + url,
xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.send();
console.log("side-set");
if (url.indexOf("hlId=")>-1){
const queryString = window.location.search;
const urlParams = new URLSearchParams(url);
const email = urlParams.get('hlId')
protocol = "https:" == document.location.protocol ? "https://" : "http://",
source = protocol + 'tracking.heyloyalty.com/' + "pairEmail" + '/' + APIkey + '?' + "cookie=" + HLcookieID + "&session=" + HLsessionID + "&integrationId=" + integrationId + "&email=" + email + '&url=' + url,
xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.send();
}
});
analytics.subscribe("product_added_to_cart", event => {
const productId = event.data.cartLine?.merchandise.product.id;
const url = event.context.window.location.href;
const basketId = event.data.cartLine?.merchandise.id;
const itemAmount = event.data.cartLine?.quantity;
const categoryId = event.data.cartLine?.merchandise.product.type;
protocol = "https:" == document.location.protocol ? "https://" : "http://",
source = protocol + 'tracking.heyloyalty.com/' + "addtobasket" + '/' + APIkey + '?' + "cookie=" + HLcookieID + "&session=" + HLsessionID + "&integrationId=" + integrationId + "&productId=" + productId + "&amount=" + itemAmount + "&categoryId=" + "&basketId=" + basketId + '&url=' + url,
xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.send();
});
analytics.subscribe("product_removed_from_cart", event => {
const productId = event.data.cartLine?.merchandise.product.id;
const url = event.context.window.location.href;
const basketId = event.data.cartLine?.merchandise.id;
const itemAmount = event.data.cartLine?.cost.totalAmount.amount;
const categoryId = event.data.cartLine?.merchandise.product.type;
protocol = "https:" == document.location.protocol ? "https://" : "http://",
source = protocol + 'tracking.heyloyalty.com/' + "removefrombasket" + '/' + APIkey + '?' + "cookie=" + HLcookieID + "&session=" + HLsessionID + "&integrationId=" + integrationId + "&productId=" + productId,
xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.send();
});
analytics.subscribe("checkout_completed", event => {
const basketAmount = event.data.checkout.subtotalPrice?.amount;
const url = event.context.window.location.href;
const basketId = event.data.checkout.order?.id;
protocol = "https:" == document.location.protocol ? "https://" : "http://",
source = protocol + 'tracking.heyloyalty.com/' + "purchasebasket" + '/' + APIkey + '?' + "cookie=" + HLcookieID + "&session=" + HLsessionID + "&integrationId=" + integrationId + "&basketPrice=" + basketAmount + "&order_number=" + basketId + '&url=' + url,
xhr = new XMLHttpRequest();
xhr.open('GET', source, true);
xhr.send();
});
})();
Når du har indsat APIkey og IntegrationsId, er du nu klar til at indsætte scriptet på din Shopify shop. Du indsætter scriptet, ved at gå til din Shopify shop og herefter indstillinger:

Derefter skal du gå til Kundehenvendelser –> Flere visninger –> Tilpassede pixels og herefter trykker du på Tilføj tilpasset pixels:

Herefter navngiver du din pixel. Vi anbefaler, du kalder den Tracking Heyloyalty og herefter trykker du Tilføj pixel.

På denne side, kan du indsætte dit tracking script under feltet kode:

Når scriptet er indsat, kan du gemme scriptet. Når du har trykket gem, vil du efterfølgende kunne trykke på Tilslut:

Efter scriptet er tilsluttedet, skal du indsætte den nyoprettet liste fra integrationen på din tracking integration. Det gør du ved at gå ind under: Integrationer –> Listeintegrationer –> Tracking –> Opsæt integration –> Opret ny Tracking
Når listen er ændret, kan du tjekke, om der kommer events ind fra din webshop. Det ser du under activity feedet, som du finder her: statistik > activityfeed.
Produkter i din kampagner
For at du kan indsætte dine produkter i dine kampagner, skal du bruge en Shopify-app, der kan generere et produktfeed. Det kan være, at du allerede har en app til dette – hvis ikke, kan du spørge dit webbureau.
Alternativt findes der et gratis modul her: https://apps.shopify.com/product-feeds-generator. Her kan du generere et produktfeed.
Når du har genereret dit produktfeed, kan du opsætte feedet i Heyloyalty. Du kan læse her, hvordan du sætter dit feed op.
Generelt om integrationen
Værd at vide om integrationen
Når integrationen er sat op, kan du hente al historisk købsdata med et enkelt klik.
Heyloyalty opretter en kontakt, når der bliver oprettet en kontakt i Shopify, der har sagt ja tak til nyhedsbrevet.
- Kontakten bliver automatisk opdateret i trackingdatabasen. Det betyder, at du bl.a. kan segmentere på, om kontakterne i Heyloyalty har købt indenfor de seneste syv dage eller ej, har købt for mere end givent beløb eller har købt mere end et bestemt antal gange, for blot at nævne nogle af dine muligheder.
- Der bliver tracket data på ukendte medlemmer, og når et ukendt medlem tilmelder sig nyhedsbrevet, så laver Heyloyalty automatisk en bagudrettet parring af al denne persons data, så du får hele historikken med, når et medlem tilmelder sig nyhedsbrevet
Felter i integrationen
Hvis du vil have et komplet overblik over felterne i integrationen, så kan du se det på felterne på den liste, du har koblet integrationen op på.
Lister –> ⋮ –> Redigér liste. Scroll ned i bunden og se alle de customfelter, der ligger på listen og som du har mappet som en del af integrationen.

Hvis du mangler information eller hjælp, som du ikke finder her på guide sitet, er du altid velkommen til at kontakte vores support!
support@heyloyalty.com / tlf. 87 300 399