Anleitungen

Anleitungen16 Min. Lesezeit

Newsletter-Anmeldeformular ohne das Embed von Mailchimp

Baue ein Newsletter-Anmeldeformular mit eigenem Markup, speichere die Einwilligung, blocke Bot-Anmeldungen und gib jeden Abonnenten an Kit, MailerLite, beehiiv oder ein anderes Tool weiter.

Preet SutharGründer, Ikiform

Schreib das Anmeldeformular in deinem eigenen HTML und lass es an ein Formular-Backend senden, statt den Embed-Code deines E-Mail-Anbieters einzufügen. Das Backend prüft die Adresse und die Einwilligungs-Checkbox, filtert Bots und sendet einen signierten Webhook, und ein kleines Relay legt den Abonnenten über die API deines E-Mail-Tools an. Das E-Mail-Tool sendet dann die Bestätigungs-E-Mail, den Newsletter und die Abmeldelinks. Ein späterer Toolwechsel ändert also das Relay, nicht jedes Formular.

Jedes E-Mail-Tool bietet dir ein Embed: einen Block generiertes Markup, den du in deine Seite einfügst. Das funktioniert, aber das Formular gehört dann dem Tool. Es sendet direkt an diesen Anbieter, bringt dessen Markup und oft dessen Styles und Skripte mit, und an dem Tag, an dem du zu einem anderen Tool wechselst, suchst du jede Kopie davon auf deiner Site zusammen. Diese Anleitung baut ein Anmeldeformular, das dir gehört, in dem Markup und Framework, das du schon nutzt, und verbindet es mit dem Tool, das deinen Newsletter versendet.

Der Weg einer Anmeldung

Hier gibt es zwei Aufgaben, und sie gehören an verschiedene Orte. Eine Anmeldung entgegenzunehmen ist Sache des Formulars: Adresse prüfen, Einwilligungs-Checkbox prüfen, Bots fernhalten, festhalten, wann es passiert ist. Einen Newsletter zu versenden ist Sache des E-Mail-Tools: Adresse bestätigen, Ausgaben senden, Abmeldungen und Bounces verarbeiten. Ikiform übernimmt das Erste. Dein E-Mail-Tool das Zweite. Ein signierter Webhook verbindet beide.

Wie eine Newsletter-Anmeldung von deiner Seite zu deinem E-Mail-Tool gelangtdeinAnmeldeformularFooter, Sidebaroder BeitragIkiformprüftEinwilligungund SpamDashboardjede AnmeldungmitEinwilligungBenachrichtigungs-E-Mailan dich,optionalsignierterWebhooksubmission.createdE-Mail-Toolbestätigt,sendet, meldetabPostRelayWie eine Newsletter-Anmeldung von deiner Seite zu deinem E-Mail-Tool gelangtdeinAnmeldeformularFooter,Sidebar oderBeitragIkiformprüftEinwilligungund SpamDashboardjede Anmeldung mitEinwilligungBenachrichtigungs-E-Mailan dich, optionalsignierterWebhooksubmission.createdE-Mail-Toolbestätigt, sendet,meldet abPostRelay
  1. Ein Leser füllt das Anmeldeformular auf deiner Seite aus, und es sendet an deinen Ikiform-Endpunkt.
  2. Ikiform prüft die Adresse, die erforderliche Einwilligungs-Checkbox, den Honeypot, den Spam-Score und das Rate-Limit.
  3. Die angenommene Anmeldung wird mit Zeitstempel, Origin und Referrer im Dashboard gespeichert.
  4. Ikiform kann dich per E-Mail über jede Anmeldung informieren. Dem Leser schreibt es nie.
  5. Ikiform sendet einen signierten submission.created-Webhook.
  6. Ein Relay prüft die Signatur und trägt den Leser in dein E-Mail-Tool ein, das die Bestätigung und später jede Ausgabe sendet.
Nur das Relay weiß, welches E-Mail-Tool du nutzt. Formular, Spamfilter und gespeicherter Eintrag ändern sich nicht, wenn das Tool wechselt.

Vier Wege, Newsletter-Anmeldungen zu sammeln

AnsatzStark beiNachteile
Das Embed des E-Mail-Tools, von Mailchimp, Kit, MailerLite oder beehiivNichts zu betreiben. Bestätigung, Tagging und Willkommens-E-Mail werden in den Einstellungen des Tools eingerichtet.Markup und Verhalten gehören dem Tool. Mailchimp weist darauf hin, dass seine eingebetteten Formulare die Styles deiner Site erben und auf deiner Seite daher anders aussehen können, und wer für ein bestehendes Formular reCAPTCHA einschaltet, muss neuen Code generieren und einfügen. Jede Kopie ist an einen Anbieter gebunden.
Eine eigene Serverroute, die die API des Tools aufruftVolle Kontrolle über Formular und Request, und der API-Key bleibt auf deinem Server.Validierung, Botfilter, Rate-Limits und einen Nachweis der Einwilligung baust du selbst, und du brauchst einen Server, auch wenn die Site statisch ist.
Ein gehosteter Formular-Baukasten plus eine Automatisierung, etwa Typeform mit ZapierKein Code, und das Automatisierungstool kennt jeden E-Mail-Anbieter.Ein iframe, das nicht zu deiner Seite passt, plus zwei Abos. Webhooks und Branding hängen vom Tarif ab.
Ein Formular-Backend wie Ikiform plus ein RelayDein eigenes Markup auf jeder Site, Spamfilter, ein gespeicherter Einwilligungsnachweis und signierte Webhooks, ohne Server für das Formular.Ikiform schickt dem Leser keine E-Mail. Bestätigung und jeder Newsletter kommen aus deinem E-Mail-Tool, über ein kleines Relay oder eine Automatisierung.

Mit einer Site, einem Tool und dessen Embed zufrieden? Dann bleib dabei. Bau dein eigenes Formular, wenn es zu deinem Design passen muss, sich über mehrere Sites erstreckt oder das Tool überdauern soll.

Das Formular

Ein gutes Newsletter-Formular ist klein: eine E-Mail, optional ein Vorname für die Anrede und eine Einwilligungs-Checkbox, deren Label das Versprechen ist, das du gibst. Ein verstecktes source-Input hält fest, wo auf der Site die Anmeldung stattfand. Wähle deinen Stack; die Auswahl gilt für jedes Codebeispiel in diesen Anleitungen.

Füge das Formular in deinen Footer, deine Sidebar oder ans Ende eines Beitrags ein. Es sendet auf die einfache Art und landet auf deiner eigenen Dankeseite, funktioniert also ohne JavaScript.

footer.html
<form id="newsletter" action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
  <label for="nl-email">Email</label>
  <input id="nl-email" name="email" type="email" required autocomplete="email" placeholder="you@example.com" />

  <label for="nl-name">First name (optional)</label>
  <input id="nl-name" name="first_name" type="text" maxlength="80" autocomplete="given-name" />

  <label>
    <input name="consent" type="checkbox" value="true" required />
    Email me the newsletter. I can unsubscribe at any time.
  </label>

  <input type="hidden" name="source" value="footer" />
  <input type="hidden" name="_redirect" value="https://example.com/subscribed" />
  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden />

  <button>Subscribe</button>
  <p id="nl-status" role="status" hidden></p>
</form>

Damit der Leser beim Artikel bleibt, füge dieses Skript nach dem Formular ein. Es sendet mit fetch, ersetzt das Formular durch eine Zeile, die ihn bittet, in sein Postfach zu schauen, und zeigt die Meldung des Servers bei der E-Mail oder der Checkbox an.

newsletter.js
const form = document.querySelector("#newsletter");
const status = document.querySelector("#nl-status");
const button = form.querySelector("button");

form.addEventListener("submit", async (event) => {
  event.preventDefault();
  const body = new FormData(form);
  button.disabled = true;
  status.hidden = false;
  status.textContent = "Subscribing";
  try {
    const response = await fetch(form.action, { method: "POST", headers: { Accept: "application/json" }, body });
    const result = await response.json();
    if (result.ok) {
      form.replaceChildren(status);
      status.textContent = "Almost done. Open the email we sent you and confirm your address.";
      return;
    }
    const fields = result.error.fields ?? {};
    status.textContent = fields.email?.[0] ?? fields.consent?.[0] ?? result.error.message;
  } catch {
    status.textContent = "Couldn't reach the server. Try again.";
  }
  button.disabled = false;
});
  • Ersetze frm_xxxxxxxxxxxxxxxx durch die ID deines Formulars aus dem Dashboard.
  • Lass den Namen des E-Mail-Inputs bei email. Ikiform validiert ihn, schreibt die Domain klein und gleicht sie mit Wegwerf-E-Mail-Domains ab.
  • Das versteckte _gotcha-Input ist der Honeypot. Menschen sehen es nie, und Bots, die jedes Input ausfüllen, markieren sich selbst als Spam.
  • Die Checkbox sendet angehakt true. Nicht angehakt sendet sie nichts, und eine erforderliche Checkbox wird mit This box must be checked abgelehnt.
  • Die Erfolgszeile bittet darum, ins Postfach zu schauen, weil dein E-Mail-Tool eine Bestätigung sendet. Hast du Double-Opt-in ausgeschaltet, mach daraus ein einfaches Dankeschön.
  • Die serverseitigen Varianten geben den Origin-Header des Browsers weiter, weil Ikiform kostenlose Tests auf localhost daran erkennt und der eigene fetch eines Servers keinen sendet.
Die serverseitigen Versionen senden mit einem Secret Key, daher überspringt Ikiform Allowed domains und seine Menschlichkeitsprüfung. Jeder Post kommt dann von der IP deines Servers, und das Standard-Limit von 5 pro Minute und Besucher zählt alle deine Besucher zusammen. Wähle für ein Formular, das du über einen Server sendest, das Rate-Limit Relaxed oder Custom, und halte IKIFORM_SECRET_KEY in reinen Server-Umgebungsvariablen.

Die Einrichtung pro Framework steht in der Doku: Next.js, Astro, SvelteKit, Nuxt, React, Vue und reines HTML. Die Vorlage für Newsletter-Formulare erzeugt dieselben Felder als HTML, React und Next.js-Server-Action.

Felder und die Definition

Füge die Definition unten im Tab Fields (Felder) des Formulars ein, und Ikiform setzt sie auf dem Server durch, egal was die Seite sendet. Die Vorschau führt denselben Validator in deinem Browser aus: Lass die Box leer und sende ab, um den Fehler zu sehen, den ein Bot oder eine kaputte Seite bekäme.

Vorschau

Führt den Validator von Ikiform in deinem Browser aus. Es wird nichts gesendet.

Auf deiner Seite ist source ein verstecktes Input. Hier ist es nur ein sichtbares Textfeld, damit du es ausprobieren kannst.
FeldWarumBeachte
emailDer AbonnentPflicht. type="email" öffnet auf dem Handy die passende Tastatur
first_nameEine Anrede in jeder AusgabeOptional. Die meisten E-Mail-Tools haben ein Vornamensfeld, dem du es zuordnen kannst
consentEin Nachweis, dass die Person E-Mails angefordert hatErforderliche Checkbox. Gespeichert als true
sourceWelches Formular auf der Site gewirkt hat: Footer, Beitrag, PopupVersteckt. Setze pro Platzierung einen anderen Wert und gib ihn als Tag oder Feld weiter

Sind Felder definiert, lehnt Ikiform jedes unbekannte Input mit unknown_field ab. Füge ein Feld also erst der Definition hinzu, bevor du der Seite ein Input hinzufügst. Namen, die mit _ beginnen, wie _redirect, sind Anweisungen an Ikiform und zählen nie als Felder.

Ein Newsletter ist E-Mail, um die jemand gebeten hat. Die Checkbox macht diese Bitte ausdrücklich, und die gespeicherte Einsendung hält sie fest. Das speichert Ikiform für jede angenommene Anmeldung:

data.fields
{
  "email": "ada@example.com",
  "first_name": "Ada",
  "consent": true,
  "source": "footer"
}

Neben den Feldern hat jede Einsendung ihren Zeitstempel created_at, Origin und Referrer der Seite, das Land und den User-Agent des Browsers. Zusammen zeigen sie, wann und wo die Person die Box angehakt hat. Zwei Gewohnheiten machen diesen Nachweis später nützlich:

  1. Formuliere das Label als Versprechen. "Schick mir den Newsletter per E-Mail. Ich kann mich jederzeit abmelden." sagt, was die Person bekommt. Wenn du auch Angebote verschickst, sag das im Label.
  2. Notiere das Datum, wenn sich der Wortlaut ändert. Ein gespeichertes true sagt, dass die Person zugestimmt hat, nicht zu welchem Text. Führe ein kurzes Änderungsprotokoll des Labels mit Datum, damit sich jede Anmeldung dem Wortlaut zuordnen lässt, den sie gesehen hat.

Ikiform speichert den Nachweis; welche Regeln dort gelten, wo du und deine Leser leben, kann es dir nicht sagen. Kläre das mit jemandem, der sich damit auskennt.

Bestätigungs-E-Mails kommen aus deinem E-Mail-Tool

Ikiform schreibt der Person, die das Formular ausfüllt, keine E-Mail. Benachrichtigungs-E-Mails gehen nur an dich und dein Team, es gibt also keinen Autoresponder, keine Bestätigungs-E-Mail und kein Double-Opt-in. Sende diese aus deinem E-Mail-Tool, ausgelöst durch einen Webhook. Diese Trennung ist Absicht. Das Tool, das deinen Newsletter versendet, verfolgt bereits, wer bestätigt hat, wer sich abgemeldet hat und welche Adressen bouncen. Würde ein zweites System Bestätigungen senden, liefen diese Daten auseinander.

Das Relay trägt den Leser deshalb in einem Zustand ein, in dem das E-Mail-Tool seine eigene Bestätigung sendet, und das Tool setzt ihn auf aktiv, sobald er klickt. Jedes Tool schaltet das anders ein: über eine Formulareinstellung, einen Schalter im Konto oder ein Flag im API-Request. Die Anleitung zu Double-Opt-in behandelt alle drei und was passiert, wenn sich ein bekannter Abonnent erneut anmeldet.

Das Relay

Ein Relay ist eine kurze Funktion, die den Webhook von Ikiform empfängt, seine Signatur prüft und die API deines E-Mail-Tools aufruft. Es braucht eine öffentliche HTTPS-URL und ein Secret pro Seite. Dieses hier ist ein Next.js-Route-Handler; derselbe Code läuft in jeder Runtime mit fetch.

app/api/newsletter/route.ts
import { verifyWebhook, WebhookVerificationError } from "@ikiform/sdk/webhooks";
import { addSubscriber } from "@/lib/email-tool";

export async function POST(request: Request) {
  const payload = await request.text();
  let event;
  try {
    event = await verifyWebhook({ payload, headers: request.headers, secret: process.env.IKIFORM_WEBHOOK_SECRET! });
  } catch (error) {
    if (error instanceof WebhookVerificationError) return new Response(error.reason, { status: 400 });
    throw error;
  }
  if (event.type !== "submission.created") return new Response(null, { status: 204 });

  const fields = event.data.fields;
  if (fields.consent !== true) return new Response("No consent, skipped", { status: 200 });

  const answer = await addSubscriber({
    email: String(fields.email),
    firstName: typeof fields.first_name === "string" ? fields.first_name : undefined,
    source: typeof fields.source === "string" ? fields.source : "unknown",
    referrer: typeof event.data.meta.referrer === "string" ? event.data.meta.referrer : undefined,
  });
  if (answer.status === 429) {
    return new Response("Email tool rate limit", {
      status: 503,
      headers: { "retry-after": answer.headers.get("retry-after") ?? "60" },
    });
  }
  if (!answer.ok) return new Response(`Email tool answered ${answer.status}`, { status: 502 });
  return new Response(null, { status: 204 });
}
  • verifyWebhook prüft die HMAC-Signatur und den Zeitstempel. Ohne das kann jeder, der die URL findet, Adressen zu deiner Liste hinzufügen.
  • endpoint.test-Events von Send test im Dashboard werden mit 204 beantwortet und übersprungen.
  • Die Einwilligungsprüfung ist ein zweites Schloss hinter der Formulardefinition.
  • addSubscriber ist der einzige Teil, der vom Tool abhängt. Den Inhalt für jedes Tool findest du auf den Seiten zu Kit, MailerLite und beehiiv.

Was das Relay antwortet, entscheidet, was Ikiform als Nächstes tut:

Was das Relay Ikiform auf jede Antwort des E-Mail-Tools antwortet200 oder 201angelegt oderaktualisiert204kein InhaltfertigZustellung erfolgreich429Rate-Limit erreicht503mit Retry-Afterwartetdann neuer Versuch4xx oder 5xxabgelehnt oder down502mit Status des Toolsneue Versuchegleiche webhook-idE-Mail-Tool antwortetRelay antwortetIkiformWas das Relay Ikiform auf jede Antwort des E-Mail-Tools antwortet200oder201angelegtoderaktualisiert204keinInhaltfertigZustellungerfolgreich429Rate-Limiterreicht503mitRetry-AfterwartetdannneuerVersuch4xxoder5xxabgelehntoder down502mitStatusdes ToolsneueVersuchegleichewebhook-idE-Mail-ToolantwortetRelayantwortetIkiform
  1. Das E-Mail-Tool legt den Abonnenten an oder aktualisiert ihn: Das Relay antwortet 204, und die Zustellung gilt als erfolgreich.
  2. Das E-Mail-Tool ist rate-limitiert: Das Relay antwortet 503 mit Retry-After, und Ikiform wartet so lange bis zum nächsten Versuch.
  3. Das E-Mail-Tool lehnt den Request ab oder ist down: Das Relay antwortet 502, und Ikiform versucht es nach seinem Zeitplan mit derselben webhook-id erneut.
Jeder Versuch steht mit der Antwort deines Relays im Zustellungsprotokoll des Endpunkts. Ein 502, das den Status des Tools nennt, sagt dir also, was zu beheben ist.

Trag die URL des Relays unter Webhooks im Dashboard ein, wähle das Newsletter-Formular und kopiere das whsec_-Secret in IKIFORM_WEBHOOK_SECRET. Ein Workspace hat bis zu 3 Endpunkte. Die URL muss öffentliches HTTPS auf Port 443 sein; Hostnamen unter workers.dev und pages.dev werden abgelehnt, gib einem Worker also eine eigene Domain. Retries, Payloads und das Signaturschema stehen in der Webhook-Doku, und Formulareinsendungen an deinen eigenen Server zeigt eine Variante, die jede Zustellung nur einmal speichert.

Kein Code? Richte den Webhook auf ein Automatisierungstool und nutze dessen Aktion für dein E-Mail-Tool statt eines Relays. Siehe Zapier, Make oder n8n. Es gibt keine Ein-Klick-Integrationen. Jedes Tool wird über einen signierten Webhook erreicht, direkt oder über ein Automatisierungstool wie Zapier oder n8n.

Bots und List Bombing fernhalten

Bot-Anmeldungen schaden einem Newsletter mehr als den meisten Formularen. Eine echte Adresse, die ein Bot angemeldet hat, bekommt E-Mails, die sie nie wollte, und Beschwerden dieser Menschen schaden der Domain, von der du sendest. Manche Bots melden die Adresse eines Opfers auf einen Schlag bei Hunderten Formularen an, um sein Postfach zu fluten, und jedes Formular mit Bestätigungs-E-Mail macht dabei mit.

AbwehrWas sie stopptEinrichtung
HoneypotBots, die jedes Eingabefeld ausfüllenDas versteckte Eingabefeld _gotcha
Erforderliche EinwilligungSkripte, die nur eine E-Mail sendenDie consent-Checkbox mit required: true in der Definition
Spam-BewertungWegwerfadressen (+2), identische Wiederholungen (+3), Links und Spam-Phrasen. Ab 5 wird eine Anmeldung als Spam gespeichertKeine
Rate-LimitsEin Besucher, der in einer Schleife sendetStandardmäßig aktiv: Standard, 5 pro Minute und Besucher
MenschlichkeitsprüfungBots, die einen echten Browser ausführenSetze Spam check (Spamprüfung) auf Ikiform, um Cloudflare Turnstile ohne eigene Keys zu nutzen
Erlaubte DomainsDer Endpunkt deines Formulars, auf fremde Sites kopiertTrag jede Domain ein, auf der das Formular erscheint

Spam bekommt dieselbe Erfolgsantwort wie eine echte Anmeldung und sendet keinen Webhook, erreicht also nie dein E-Mail-Tool und löst nie eine Bestätigungs-E-Mail aus. Landet ein echter Leser im Spam, markiere ihn als kein Spam, und erst dann geht sein Webhook raus. Die Spam-Doku erklärt jede Prüfung und ihren Score.

Ein strenges Limit pro Besucher passt zu einem Newsletter-Formular, weil man sich nur einmal anmeldet. Liest dein Publikum aus Büros oder von Hochschulen, die sich eine IP teilen, zählt Standard sie zusammen; dort ist Relaxed mit 20 pro Minute und Besucher die sicherere Wahl. Siehe Rate-Limits.

Ein Formular auf vielen Seiten

Ein Endpunkt kann im Footer jeder Seite, am Ende jedes Beitrags und auf einer Seite /newsletter sitzen. Gib jeder Platzierung einen eigenen source-Wert, um zu sehen, welche Anmeldungen bringt:

  • footer: auf jeder Seite zu sehen. Beschränke es auf E-Mail und Checkbox.
  • post: Leser, die einen Artikel zu Ende gelesen haben, oft die beste Conversion.
  • newsletter-page: wohin Social-Media-Profile verlinken. Platz für eine Beispielausgabe.

Jede Einsendung speichert auch den Referrer, also genau die Seite, auf der der Leser war. source sagt dir die Platzierung, der Referrer den Artikel. Trag jede Domain, die das Formular zeigt, unter Allowed domains ein, bis zu 20 pro Formular; Subdomains einer eingetragenen Domain sind automatisch erlaubt.

Derselbe Leser zweimal

Ikiform führt wiederholte Einsendungen nicht anhand der E-Mail zusammen und lehnt sie auch nicht ab. Eine identische Wiederholung innerhalb von 24 Stunden erhöht nur den Spam-Score. Entferne Duplikate dort, wo die Liste liegt, oder beim Export. Bei einem Newsletter ist das selten ein Problem: Kit, MailerLite und beehiiv identifizieren Abonnenten jeweils über die E-Mail, eine Wiederholung aktualisiert also einen Kontakt, statt einen zweiten anzulegen.

Später das E-Mail-Tool wechseln

Hier zahlt es sich aus, dass dir das Formular gehört. Der Wechsel von einem E-Mail-Tool zum anderen heißt normalerweise, jedes Embed auf der Site zu ersetzen. Hier weiß das Formular nicht, welches Tool dahinter sitzt:

Was sich ändert, wenn du zu einem anderen E-Mail-Tool wechselstmit einem Embedmit eigenem Formularjede SeiteeingefügterEmbed-Codealtes ToolFormular sendethierherneues Toolneues Embed aufjeder Seitejede SeiteunverändertIkiformunverändertRelayeine Funktionändert sichPostalles ersetzenPostWebhookWas sich ändert, wenn du zu einem anderen E-Mail-Tool wechselstmit einem Embedmit eigenem Formularjede Seiteeingefügter Embed-Codealtes ToolFormular sendet hierherneues Toolneues Embed auf jeder Seitejede SeiteunverändertIkiformunverändertRelayeine Funktion ändert sichPostalles ersetzenPostWebhook
  1. Mit einem Embed trägt jede Seite Code, der direkt an das alte Tool sendet. Ein Wechsel heißt also, jede Kopie zu ersetzen.
  2. Mit deinem eigenen Formular sendet jede Seite weiter an Ikiform, und Ikiform sendet weiter denselben Webhook.
  3. Nur die Funktion addSubscriber des Relays ändert sich und ruft die API des neuen Tools auf.
Wenn du willst, betreib beide Tools eine Woche lang parallel: zwei Webhook-Endpunkte, zwei Relays, ein Formular. Entferne dann den alten Endpunkt.

Übertrage bestehende Abonnenten mit dem Export des alten Tools, denn nur dieses weiß, wer bestätigt hat und wer gegangen ist. Der CSV-Export von Ikiform mit bis zu 100.000 Zeilen pro Datei dient zum Prüfen der Zahlen, nicht zum Importieren.

Wähle deinen Fall

Das Formular oben ist überall dasselbe. Diese Seiten behandeln Bestätigungs-E-Mails, Sites ohne Server und die genauen API-Aufrufe für drei E-Mail-Tools.

Prüfen, ob es funktioniert

Geh das durch, bevor du das Formular auf jede Seite setzt. Ikiform hat keinen kostenlosen Tarif. Testen ist kostenlos: Ein Workspace ohne Tarif nimmt 50 Testeinsendungen im Monat von localhost an. Für den Livebetrieb wähle Pro ab 6 $/Monat für 500 Einsendungen oder zahle einmalig: 10.000 Einsendungen für 49 $ oder 50.000 Einsendungen für 149 $, mit Guthaben, das nie verfällt. Siehe Preise.

  1. Füge unter Allowed domains des Formulars die Domain deiner Site hinzu, plus localhost, während du entwickelst. Lass das Feld leer, um Posts von überall anzunehmen.
  2. Sende das Formular über die Entwicklertools des Browsers mit leerer Box ab, oder entferne kurz required. Du bekommst 422 mit This box must be checked, und nichts wird gespeichert.
  3. Sende es richtig mit einer Adresse ab, die dir gehört. Du siehst die Zeile mit dem Hinweis aufs Postfach oder landest auf deiner Dankeseite.
  4. Öffne Submissions im Dashboard. Die neue Einsendung ist da, mit jedem Feld, das du gesendet hast.
  5. Öffne den Endpunkt unter Webhooks. Die Zustellung zeigt succeeded und die Antwort deines Relays.
  6. Öffne dein E-Mail-Tool. Der Abonnent ist da, unbestätigt, wenn Double-Opt-in an ist, und die Bestätigungs-E-Mail liegt in deinem Postfach.
  7. Sende einen Post mit ausgefülltem Honeypot, _gotcha=bot. Er bekommt trotzdem eine Erfolgsantwort, aber die Einsendung wird als Spam gespeichert und löst weder E-Mail noch Webhook aus.
  8. Nichts angekommen? Stell den Statusfilter im Dashboard auf Spam. Spam bekommt dieselbe Erfolgsantwort wie eine echte Einsendung.

Fehlerbehebung

ProblemWas zu tun ist
422 validation_failed mit consentDie Checkbox war nicht angehakt, oder der name ihres Inputs ist nicht consent. Eine serverseitige Variante muss true, "true" oder "on" senden; eine leere Box sendet nichts.
422 validation_failed mit unknown_fieldDie Seite sendet ein Input, das die Definition nicht aufführt, oft ein verstecktes source oder ein später hinzugefügtes Tracking-Input. Füge es der Definition hinzu oder entferne das Input.
403 origin_not_allowed, oder jeder Post landet im SpamDie Domain der Seite steht nicht unter Allowed domains des Formulars. Füge sie hinzu, plus localhost für lokale Tests. Subdomains einer eingetragenen Domain sind erlaubt.
429 rate_limitedEin Besucher hat mehr gesendet, als das Rate-Limit des Formulars erlaubt. Standard erlaubt 5 pro Minute und Besucher. Warte Retry-After ab oder wähle Relaxed oder Custom für Formulare, die von einer gemeinsamen IP aus senden.
Die Einsendung ist im Dashboard, aber keine E-Mail und kein Webhook kam anSie wurde als Spam gespeichert. Spam löst nichts aus. Öffne sie unter dem Filter Spam, um die Gründe zu sehen, und markiere sie als kein Spam, um ihre E-Mail und Webhooks zu senden.
Anmeldungen kommen in Ikiform an, aber nicht im E-Mail-ToolLies das Zustellungsprotokoll unter Webhooks. 400 heißt, das Secret des Relays ist falsch. 502 enthält den Status des E-Mail-Tools: meist ein falscher API-Key, eine falsche Listen-ID oder Formular-ID.
Der Abonnent ist im E-Mail-Tool, hat aber keine Bestätigungs-E-Mail bekommenDouble-Opt-in ist im Tool aus, oder das Relay hat den Abonnenten als bereits bestätigt angelegt. Unter Double-Opt-in findest du den Schalter für jedes Tool.
Der Browser landet auf der Dankeseite von Ikiform statt auf deiner_redirect wird ignoriert, außer seine Domain steht unter Allowed domains und es ist eine https:-URL. Füge die Domain hinzu oder setze stattdessen Redirect after submit in den Einstellungen des Formulars.

Fragen

Hängst du bei einem Schritt fest oder willst eine Anleitung für deinen Fall? Schreib an hello@ikiform.com.