Email

Setup

Alt, hvad du skal konfigurere, før Clerk.io kan sende e-mails på dine vegne.
Backend i Clerk.io-backend

Denne guide dækker den opsætning, der er nødvendig, før Clerk.io kan sende emails på dine vegne.

Den gælder for kampagner, flows og automatiske triggers som Abandoned Cart. Hvis du kun vil tilføje personlige produktanbefalinger til emails sendt fra Klaviyo, Mailchimp eller en anden platform, gå til Embeds i stedet.

Hvert koncept nedenfor forklarer, hvad det gør, hvornår du har brug for det, og hvordan det håndteres med Clerk.js eller API’en, hvor kode kræves.

Vælg den rigtige opsætningsvej #

Brug det afsnit, der matcher den opgave, du skal udføre:

Opsætningen er opgavebaseret. For eksempel kræver Abandoned Cart email identification og cart tracking, mens en engangskampagne kræver sender domain, abonnenter og et email design.

Setup Status #

Fanen Setup Status giver dig et live overblik over din email opsætning.

Find den i Email > Configuration > Setup Status. Den viser, om de påkrævede dele er konfigureret, om tracking virker, og om emails bliver sendt som forventet.

Hvert punkt har en farvet prik. Grøn betyder alt er i orden, rød betyder noget mangler eller er i stykker, og orange er en advarsel, der er værd at tjekke.

Tjekpunkterne er grupperet i tre områder:

Configuration dækker kerneopsætningen. Dette inkluderer, om e-mail afsendelse er aktiveret, hvilket sender domain der er konfigureret, hvor mange tilmeldte modtagere der er tilgængelige, og om aktive flow steps har email designs.

On-site tracking viser, om besøgstracking kører. Den viser også, hvor mange besøgende eller kurve der er blevet knyttet til en emailadresse de seneste syv dage.

Flows & sending viser, om aktive flows er konfigureret, hvor mange flow events der afventer, hvor mange emails der for nylig er sendt, og om sendekøen er sund.

Start her, hvis emails ikke bliver sendt som forventet. Det er det tætteste email setup har på et dashboard, der diskret holder øje med brændstofmåleren.

Sender Domain #

Hvordan Clerk.io sender emails fra dit domæne — et overblik i tre trin over DNS opsætning

Sender domain er det domæne Clerk.io bruger, når emails sendes for din butik.

Før Clerk.io kan sende fra dette domæne, skal du godkende det med DNS records. Disse records fortæller de modtagende mailservere, at Clerk.io har lov til at sende emails på dine vegne.

Uden dette bevis kan emails blive afvist eller sendt til spam. Mailservere er professionelle skeptikere – og de har set ting.

DNS Records #

Tilføj de nødvendige DNS records hos din domæneudbyder. Det er typisk her, hvor du administrerer dit domæne, såsom Cloudflare, GoDaddy, Route 53 eller lignende udbyder.

Clerk.io bruger tre typer DNS records:

  • SPF angiver, hvilke services der må sende email fra dit domæne.
  • DKIM tilføjer en signatur, så modtagere kan bekræfte, at emailen kom fra dig og ikke er ændret undervejs.
  • CNAME bruges til at tracke åbninger og klik i dine kampagner.
SPF records: Et domæne kan kun have én SPF TXT record. Hvis du allerede har en, skal du flette direktivet, f.eks. include:mailgun.org, ind i den eksisterende record i stedet for at oprette en ny.

Find dine records i Email > Configuration > Domain Setup og følg guiden for din hostingudbyder.

Efter du har indtastet Sender Email og Sender Name, genererer Clerk.io de præcise record værdier. Tilføj dem hos din domæneudbyder, og vend tilbage til Email > Configuration > DNS Records og klik Verify Now.

Subscribers #

En subscriber er en emailadresse, der har tilmeldt sig at modtage markedsførings-emails.

Clerk.io skal have abonnenter, før der kan sendes kampagner. Et flow kan identificere en besøgende og vide præcis, hvad personen har set på, men kan stadig ikke sende markedsførings-email til én, der ikke har tilmeldt sig.

Opsæt abonnenter i to trin:

  1. Importer eksisterende abonnenter fra din webshop eller email-udbyder, så du tager alle med, der allerede har tilmeldt sig.
  2. Indsaml fremtidige tilmeldinger direkte i Clerk.io gennem tilmeldingspunkter på din hjemmeside.

Email identification og subscription er adskilte. collect_email og log/email knytter en besøgende til en emailadresse; de tilmelder ikke adressen til markedsføring. En tilmelding via websitet skal kalde subscriber/subscribe, efter den besøgende har givet samtykke.

Importer eksisterende #

Find alle steder, hvor eksisterende abonnenter er gemt. Din webshop kan have newsletter-tilmeldinger fra checkout, mens en e-mailudbyder som Klaviyo eller Mailchimp opbevarer abonnenter indsamlet gennem formularer og popups.

Brug din webshop-integration til at importere abonnementsstatus, hvor det er understøttet. Tjek dens Sync Data guide, og bekræft at de importerede kundeposter indeholder korrekt abonnementsstatus.

Start med at forbinde din email platform i Settings > Integrations. Gå derefter til Email > Configuration > Sync Subscribers og slå integrationen til.

Sync Subscribers-fanen i Email Configuration

For at finde guiden til en specifik email platform, brug integrationsmenuen i sidebaren og følg dens Sync Data guide.

Hvis din kilde ikke kan forbindes direkte, brug en CSV import eller medtag abonnenter i dit data feed ved at bruge subscribed: true på kundeposter.

Importer de personer, der faktisk har tilmeldt sig, i stedet for at markere alle kunder som tilmeldt. Tjek resultatet i Email > Subscribers før du går videre til indsamling via website.

Hvis du kun vil sende emails gennem Clerk.io, anbefaler vi at stoppe abonnementssync fra din webshop eller tidligere email-udbyder efter den indledende import. Start med at bekræfte, at de eksisterende abonnenter er importeret og at alle tilmeldingspunkter på websitet sender nye abonnenter direkte til Clerk.io.

Slå derefter den relevante subscription sync fra og brug frontend collection: indlejrede formularer, email popups og checkout opt-ins. Dette undgår modstridende abonnementsstatus mellem Clerk.io og den anden platform, som hvis senere sync overskriver en signup eller afmelding.

Stop med at synkronisere abonnementsstatus, men behold evt. produkt-, kategori-, ordre- eller anden kunde-datasync, du stadig har brug for. Se subscriber syncing.

Double opt-in #

Double opt-in bekræftelses-mail indstillinger

Double opt-in kræver, at nye abonnenter bekræfter deres emailadresse, før Clerk.io sender nyhedsbreve. Dette er nyttigt, hvis din virksomhed opererer i Tyskland eller et andet marked, hvor bekræftet samtykke er påkrævet.

For at aktivere det, gå til Email > Configuration > Sync Subscribers, slå Double opt-in til, og gem dine ændringer.

Når en besøgende har tilmeldt sig, sender Clerk.io en bekræftelsesmail. Abonnenten modtager først nyhedsbreve, når de har klikket på bekræftelseslinket.

Bekræftelsesmailen viser en live preview, mens du redigerer. Du kan tilpasse Subject, Heading, Message og Button text. Emailen bruger som standard butikkens verificerede sender domain, og det sikre bekræftelseslink tilføjes automatisk.

Lad et felt stå tomt for at bruge det sikre standardindhold for den del af bekræftelsesmailen.

Indsaml abonnenter #

Efter den indledende import, forbind hvert tilmeldingspunkt så fremtidige abonnenter når Clerk.io. En butik kan have brug for alle tre metoder nedenfor.

  • Indlejret formular: Placer en HTML-tilmeldingsformular i footeren eller nederst på en side.
  • Email-popup: Konfigurer en popup i my.clerk.io til at vises efter en tidsforsinkelse eller ved en bestemt scroll-dybde.
  • Checkout opt-in: Forbind den eksisterende nyhedsbrevscheckbox og emailfelt i checkout til Clerk.io via JavaScript.

Udskiftning af en formular i footeren opdaterer ikke popup eller checkout. Tjek hvert tilmeldingspunkt separat, også dem der stadig sender abonnenter til din tidligere email-udbyder.

Indlejret formular #

En indlejret formular lader besøgende tilmelde sig direkte fra dit website. Installer og konfigurer Clerk.js før du tilføjer formularen.

Eksemplet nedenfor tilmelder den indtastede emailadresse globalt. Placer den i din footer, på forsiden eller et andet afsnit, og tilpas teksten og stylingen, så den passer til din butik.

Subscriber tilmeldingsformular eksempel
<div class="clerk-sign-up">
   <h2 class="clerk-sign-up-headline">Tilmeld dig nu!</h2>
   <div class="clerk-sign-up-subtitle">Få personlige tilbud og hold dig opdateret på trends.</div>
   <div class="clerk-input-wrapper">
      <input type="email" id="clerk-add-subscriber-input" placeholder="Indtast din email" aria-label="Email address" required>
      <button type="button" id="clerk-add-subscriber-btn" onclick="add_subscriber()">Tilmeld</button>
   </div>
   <div id="clerk-subscribe-message"></div>
</div>

<script>
   function add_subscriber() {
      var clerk_btn = document.getElementById("clerk-add-subscriber-btn");
      var clerk_input = document.getElementById("clerk-add-subscriber-input");
      var clerk_message = document.getElementById("clerk-subscribe-message");
      if (!clerk_input.reportValidity()) return;
      Clerk("call", "subscriber/subscribe", {
         email: clerk_input.value.trim(),
         redirect: false
      },
      function(response) {
         clerk_message.style.color = "#008001";
         clerk_message.innerText = "Tilmelding modtaget. Hvis bekræftelse kræves, så tjek din email.";
         clerk_btn.innerText = "Tilmelding modtaget!";
         clerk_btn.style.opacity = "0.5";
         clerk_btn.disabled = true;
      },
      function(response) {
         clerk_message.style.color = "#EE360E";
         clerk_message.innerText = "Kunne ikke tilmelde. Prøv igen.";
      });
   }
</script>

<style>
   .clerk-sign-up {
      width: 50%;
      padding: 60px 0;
      max-width: 800px;
      min-width: 500px;
      margin: 40px auto;
      background-color: #FEFAF4;
   }
   .clerk-sign-up-headline {
      margin: 0 14px 14px;
      text-align: center;
   }
   .clerk-sign-up-subtitle {
      margin: 14px 14px 28px;
      text-align: center;
      color: #808080;
   }
   .clerk-input-wrapper {
      margin: 10px auto;
      text-align: center;
   }
   #clerk-add-subscriber-input {
      height: 28px;
      width: 50%;
      padding: 0 0 0 6px;
      border: 1px solid #D3D3D3;
   }
   #clerk-add-subscriber-btn {
      height: 30px;
      background-color: #008001;
      border: 1px solid #008001;
      color: white;
      cursor: pointer;
   }
   #clerk-subscribe-message {
      height: 20px;
      margin: auto;
      text-align: center;
   }
</style>

For at tilmelde til en specifik liste, tilføj list_id. Liste-ID’er findes i Email > Subscribers > Lists.

Clerk("call", "subscriber/subscribe", {
  email: "customer@example.com",
  list_id: "FSY27248"
});

Læs mere i Subscribers.

Email-popup #

Gå til Email > Popups i my.clerk.io for at indsamle abonnenter via en popup. Vælg alle abonnenter eller en specifik liste, tilpas designet og indstil visningstidspunktet.

Popuppen vises efter en tidsforsinkelse eller når den besøgende scroller en valgt procentdel af siden. Se Email Popups for detaljer.

Checkout opt-in #

Hvis din checkout har et nyhedsbrevs-flueben, forbind denne eksisterende funktion til Clerk.io. Behold checkoutens egne felter og ordrehandlers; tilføj en lytter, der overvåger kundens handlinger.

Lytteren har brug for to ting: en gyldig adresse i checkoutens emailfelt og et bevidst valgt nyhedsbrevs-flueben. Indtastning af en adresse til en ordre, forud-afkrydset flueben, eller at sætte det via JavaScript må ikke udløse tilmelding.

Grundflowet er:

  1. Find checkout-formularen, emailfeltet og nyhedsbrevs-fluebenet.
  2. Registrer, når kunden aktivt vælger fluebenet.
  3. Kald subscriber/subscribe, når både samtykke og gyldig email er til stede.

Sørg for, at webshopens Clerk.js-installation er indlæst og konfigureret på checkout. Clerk("call", ...) bruger automatisk butikkens opsatte nøgle.

Eksemplet nedenfor viser konceptet. Erstat selektorerne med dem, din checkout bruger, og indlæs scriptet efter felterne eksisterer. Scope selektorerne til checkout-formularen, så felter i footeren eller login ikke kan udløse tilmelding.

<script>
(function () {
  var form = document.querySelector("form.checkout-form");
  if (!form) return;

  var email = form.querySelector('input[name="email"][type="email"]');
  var newsletter = form.querySelector('input[name="newsletter"][type="checkbox"]');
  if (!email || !newsletter) return;

  var optedIn = false;

  function subscribe() {
    if (!optedIn || !newsletter.checked) return;
    if (!email.value.trim() || !email.checkValidity()) return;

    Clerk("call", "subscriber/subscribe", {
      email: email.value.trim(),
      redirect: false
    });
  }

  newsletter.addEventListener("change", function (event) {
    if (!newsletter.checked) optedIn = false;
    if (!event.isTrusted) return;
    optedIn = newsletter.checked;
    subscribe();
  });

  // Håndter også kunder, der vælger fluebenet før indtastning af email.
  email.addEventListener("blur", function (event) {
    if (event.isTrusted) subscribe();
  });
})();
</script>

Indsæt dette som ét selvstændigt HTML-scriptblok, udenfor andre <script>-blokke. Hvis din platform forventer rå JavaScript, udelad åbnings- og slut-tags.

For en komplet implementering, tilføj håndtering af dobbelt-requests og succes-/fejl-callbacks med inline feedback og retry-mulighed. Hvis checkout skifter sine felter dynamisk, tilpas lytterne til platformens events eller brug event delegation.

En succesfuld anmodning betyder, at Clerk.io har accepteret signup. Med double opt-in skal den besøgende stadig bekræfte sin email, før de modtager nyhedsbreve.

Dette eksempel tilmelder før ordreafslutning og lader webshopens egne handlers være intakte. Et flueben, der fravælges senere, fortryder ikke en allerede sendt anmodning eller afmelder en allerede accepteret adresse.

Hvis signup kun skal ske efter en gennemført ordre, brug platformens succesfulde-ordre-event eller backend i stedet. Tjek hvordan webshoppen lagrer og synkroniserer sin nyhedsbrev-status, så senere syncs bevarer abonnementsstatus.

Test begge input-rækkefølger, ugyldige emails, ikke-afkrydsede/flueben, prechecked consent og signup-fejl. Bekræft resultatet i Email > Subscribers og at signup-fejl ikke afbryder checkout.

Brug af API #

Brug API’en, når din tilmeldingsformular eller backend skal håndtere abonnenter direkte.

Kald subscriber/subscribe for at tilføje en emailadresse som abonnent:

curl -X POST https://api.clerk.io/v2/subscriber/subscribe \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "your-public-api-key",
    "email": "customer@example.com"
  }'

For at tilmelde til en bestemt liste, tilføj list_id:

curl -X POST https://api.clerk.io/v2/subscriber/subscribe \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "your-public-api-key",
    "email": "customer@example.com",
    "list_id": "FSY27248"
  }'

Læs den fulde reference på docs.clerk.io/reference/subscriberssubscribe.

Afmelding #

Afmelding er den måde, hvorpå modtagere framelder sig markedsførings-emails.

Alle markedsførings-emails skal indeholde en måde, hvorpå modtagere kan afmelde sig. Hvordan du håndterer det, afhænger af, om modtager klikker et link i en email, eller om din backend håndterer frameldingen.

Bruger en ekstern platform — Brug fortsat din eksisterende platforms afmeldingslink. Klaviyo, Mailchimp eller din anden platform håndterer frameldingen og holder listen med abonnenter synkroniseret.

Sender gennem Clerk.io — Tilføj Clerk.io’s afmeldingslink til designet. Hvis du bruger Ask Clerk.io, så bed den om at inkludere et afmeldingslink, og det vil blive tilføjet for dig.

For designs du selv bygger manuelt, brug nedenstående link.

Variablen {{ email }} udskiftes med hver modtagers adresse ved afsendelse. Erstat YOUR_PUBLIC_API_KEY med den offentlige nøgle fra Developers > API Keys.

<a href="https://api.clerk.io/v2/subscriber/unsubscribe?key=YOUR_PUBLIC_API_KEY&email={{ email }}&redirect=true">Afmeld</a>

For at framelde fra en bestemt liste, tilføj list_id:

<a href="https://api.clerk.io/v2/subscriber/unsubscribe?key=YOUR_PUBLIC_API_KEY&email={{ email }}&list_id=FSY27248&redirect=true">Afmeld fra denne liste</a>

For at viderestille til din egen bekræftelsesside efter afmelding, tilføj redirect_url:

<a href="https://api.clerk.io/v2/subscriber/unsubscribe?key=YOUR_PUBLIC_API_KEY&email={{ email }}&redirect=true&redirect_url=https://yoursite.com/unsubscribed">Afmeld</a>

Brug af API #

Brug subscriber/unsubscribe til automatisk at afmelde en emailadresse.

Dette er nyttigt til brugerdefinerede afmeldingssider eller backend-flows.

curl -X POST https://api.clerk.io/v2/subscriber/unsubscribe \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "your-public-api-key",
    "email": "customer@example.com"
  }'

Dette afmelder globalt. For kun at afmelde fra en bestemt liste, tilføj list_id:

curl -X POST https://api.clerk.io/v2/subscriber/unsubscribe \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "your-public-api-key",
    "email": "customer@example.com",
    "list_id": "FSY27248"
  }'

Læs den fulde reference på docs.clerk.io/reference/subscribersunsubscribe.

Store Personalization #

Email Personalization, der viser Store Logo-indstillinger

Store personalization styrer de standard-brandingelementer, Clerk.io bruger i email designs.

Gå til Email > Configuration > Personalization for at sætte dit butikslogo. Du kan uploade et billede manuelt eller bruge Auto-detect from website for at lade Clerk.io finde det på din webshop.

Logoet sat her bruges som standardlogo i Clerk.io-byggede emaildesigns. Hvis du selv manuelt bygger designs, kan du stadig referere logoets URL i din template-markup.

Email Designs #

Ask Clerk.io Design Studio, der viser en usgemt email preview

Et email design er den visuelle template Clerk.io bruger til at bygge e-mailen, der sendes.

Hver kampagne og hvert automatisk flow skal have et design. Designet styrer layout, farver, tekst, produktblokke, afmeldingslinks og alt andet modtageren ser.

Med Ask Clerk.io #

Den nemmeste måde at oprette et design på er med Ask Clerk.io Design Studio.

Beskriv, hvad du vil have, på almindeligt dansk, fx layout, farver, hvilke produkter der skal vises, og hvordan udsalgspriser skal se ud. Design Studio bygger en forhåndsvisning direkte i chatten, så du kan gennemgå og justere.

Du kan også henvise til dit website eller vedhæfte et screenshot. Det bruges som visuel reference, hvilket ofte er hurtigere end at forklare din grønne nuance som en mistænkt hos politiet.

Læs mere i Design Studio-guiden.

Med MJML #

Brug det indbyggede MJML-editor, når du vil have mere kontrol over markup.

MJML kompilerer til HTML, der vises ensartet på Gmail, Outlook, Apple Mail og andre email-klienter. Se MJML Designs guide for gennemgang og eksempler.

Alle emaildesigns i Clerk.io er responsive. De tilpasser sig automatisk til desktop, tablet og mobil.

Statiske billeder #

Brug Media Library til statiske billeder som bannere, logoer og sæsonbestemte headers.

Billeder uploadet hertil får en template reference som {{ media.your-image }}, som du kan bruge i ethvert design.

Du kan også vedhæfte et billede direkte i Ask Clerk.io og bede om at få det uploadet og brugt i designet.

Email Identification #

Email identification forbinder en besøgssession med en emailadresse.

Det kræves til automatiske flows som browse abandonment, welcome-serier og Abandoned Cart. Uden det kan Clerk.io vide, hvad en besøgende har gjort, men ikke hvem der skal kontaktes.

Hver besøgende på dit website får et visitor ID. I starten er visitor ID anonymt. Email identification forbinder det til en emailadresse, når den besøgende indtaster sin email eller returnerer som logget ind.

Med Clerk.js #

Brug collect_email for at Clerk.js automatisk kan detektere emailfelter.

Hvis du bruger et af Clerk.io’s installérbare plugins, aktiver collect_email direkte fra plugin-indstillingerne. Dette gælder DanDomain Classic, Magento 1, Magento 2, PrestaShop, Shopware 6, VTEX og WooCommerce.

For andre opsætninger, aktiver det i din Clerk.js-konfiguration:

Clerk('config', {
  key: 'your-public-api-key',
  collect_email: true
});

Clerk.js overvåger herefter email-inputfelter og logger adressen, når en besøgende indtaster den.

Dette virker til checkoutfelter, tilmelding til nyhedsbrev, loginformularer og andre <input type="email"> elementer.

Dette identificerer besøgende – det tilmelder dem ikke til markedsføring. For at indsamle tilmelding til nyhedsbrev i checkout, brug checkout listener til at kalde subscriber/subscribe separat.

Hvis en kunde allerede er logget ind, log deres email én gang pr. session med Clerk('call', 'log/email').

if (!sessionStorage.getItem('clerk_email_logged')) {
  Clerk('call', 'log/email', {
    email: 'CUSTOMER_EMAIL'
  });
  sessionStorage.setItem('clerk_email_logged', '1');
}

Erstat CUSTOMER_EMAIL med den aktuelle emailadresse fra din platform. Render kun scriptet, når emailadressen er tilgængelig.

Brug af API #

Brug log/email til at forbinde et visitor-id til en emailadresse.

Kald det én gang per session, når en emailadresse er tilgængelig. Dette gælder når en kunde logger ind, og når de returnerer allerede logget ind.

curl -X POST https://api.clerk.io/v2/log/email \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "your-public-api-key",
    "email": "customer@example.com",
    "visitor": "SESSION_VISITOR_ID"
  }'

Erstat SESSION_VISITOR_ID med visitor ID fra sessionen.

Ved brug af API’en er du selv ansvarlig for at generere og vedligeholde visitor ID. Se Tracking guide for detaljer.

Cart Tracking #

Cart tracking fortæller Clerk.io, hvad en besøgende har i sin kurv netop nu.

Det kræves for Abandoned Cart emails. Når en besøgende forlader uden at købe, kan Clerk.io kun sende kurv-indholdet, hvis kurven er tracket.

Kald cart tracking hver gang kurven ændres. Det gælder, når et produkt tilføjes, fjernes, eller når kurven opdateres.

Med Clerk.js #

Hvis du bruger Magento 1, Magento 2, PrestaShop eller WooCommerce plugin, håndteres cart tracking automatisk.

For andre opsætninger, informer Clerk.io om kurvens indhold med set-metoden. Hver kald er knyttet til den aktuelle besøgs-session.

Clerk('cart', 'set', [1234, 5678, 42]);

Læs mere i Shopping Cart integration.

Med API #

Brug log/cart/update til at sætte kurven til dens aktuelle tilstand.

Kald det, når kurven ændres, og send den fulde liste af produkter i kurven.

curl -X POST https://api.clerk.io/v2/log/cart/update \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "your-public-api-key",
    "visitor": "SESSION_VISITOR_ID",
    "products": [
      {"id": 1234, "quantity": 2},
      {"id": 5678, "quantity": 1}
    ]
  }'

Du kan også sende email i stedet for eller sammen med visitor, hvis emailadressen allerede er kendt.

Denne side er oversat af en hjælpsom AI, og der kan derfor være sproglige fejl. Tak for forståelsen.