Anleitungen

Anleitungen15 Min. Lesezeit

Feedback-Formular zu deiner Website oder App hinzufügen

Setze ein Feedback-Formular auf jede Seite oder in deine App: eine Bewertung, ein Kommentar, die Herkunftsseite, Spamfilter und Alerts bei niedrigen Werten.

Preet SutharGründer, Ikiform

Füge ein kurzes Formular mit einer Bewertung von 1 bis 5, einem optionalen Kommentar und einer optionalen E-Mail hinzu und sende es an ein Formular-Backend, damit du dafür keinen Server betreibst. Schick bei jeder Antwort die Seitenadresse mit, denn der Browser verrät dir die vollständige URL nicht von selbst. Leite niedrige Bewertungen noch am selben Tag in deinen Team-Chat und bewahre alle Antworten an einem Ort auf, um Trends zu sehen.

Die meisten Leute sagen dir nie, was mit deiner Site nicht stimmt. Sie gehen einfach. Ein kleines Feedback-Formular fängt die wenigen ab, die es sagen, in dem Moment, in dem sie es bemerken, auf der Seite, die es verursacht hat. Diese Anleitung baut eins, das zu jeder Site oder App passt, die Herkunftsseite mitsendet, Bots fernhält und unzufriedene Antworten noch am selben Tag vor dein Team bringt.

So funktioniert ein Feedback-Formular

Das Formular sendet an Ikiform. Ikiform validiert die Bewertung, prüft den Post auf Spam, speichert ihn, schickt deinem Team eine E-Mail und sendet einen signierten Webhook. Über den Webhook gehen niedrige Bewertungen in einen Chat-Channel, und jede Antwort kann in eine Tabelle oder Datenbank wandern.

Wie ein Feedback von deiner Seite zu deinem Team gelangtjede SeiteoderApp-AnsichtBewertung,Kommentar,SeitenadresseIkiformvalidiert,filtert Spam,speichertDashboardnach Formularund Datumfiltern, CSVexportierenBenachrichtigungs-E-Mailan dein Team,Antwort geht anden BesuchersignierterWebhooksubmission.createdmit Feldern undMetaTeam-Chatnur Bewertungenvon 1 oder 2PostRelayWie ein Feedback von deiner Seite zu deinem Team gelangtjede SeiteoderApp-AnsichtBewertung,Kommentar,SeitenadresseIkiformvalidiert,filtert Spam,speichertDashboardnach Formular undDatum filtern, CSVexportierenBenachrichtigungs-E-Mailan dein Team,Antwort geht an denBesuchersignierterWebhooksubmission.createdmit Feldern undMetaTeam-Chatnur Bewertungen von1 oder 2PostRelay
  1. Ein Besucher wählt eine Bewertung, schreibt vielleicht einen Kommentar, und das Formular sendet beides mit der Seitenadresse.
  2. Ikiform prüft, ob die Bewertung eine ganze Zahl von 1 bis 5 ist, führt die Spamprüfungen aus und speichert die Antwort.
  3. Die Antwort erscheint im Dashboard, wo du sie filtern und als CSV exportieren kannst.
  4. Ikiform schickt deinem Team eine E-Mail. Hat der Besucher eine E-Mail hinterlassen, geht „Antworten“ direkt an ihn.
  5. Ikiform sendet einen signierten submission.created-Webhook mit den Feldern und den Browser-Metadaten.
  6. Ein kleines Relay schickt nur die niedrigen Bewertungen in deinen Team-Chat, damit sie heute noch gelesen werden.
Das Relay ist optional. Starte mit der E-Mail und dem Dashboard und füge den Chat-Alert hinzu, wenn sich die Antworten häufen.

Wege, Feedback zu sammeln

Jede Art von Tool ist für eine andere Aufgabe gebaut. Wähle danach, was du sehen musst, wenn eine Antwort ankommt, nicht nach dem Aussehen des Widgets.

AnsatzStark beiNachteile
Website-Feedback-Tools wie Hotjar oder UsersnapScreenshots, Anmerkungen und Seitenkontext, ohne Code außer einem Script-Tag.Ein Drittanbieter-Skript auf jeder Seite, Antworten in deren Produkt gespeichert und Preise nach deren Tarifen.
Das Widget eines Error-Trackers wie Sentry User FeedbackVerknüpft einen Bericht mit dem Fehler und, bei aktivem Session Replay, mit einer Aufzeichnung des Geschehens.Für Bugs gebaut, nicht für Meinungen. Du brauchst zuerst das SDK des Trackers in deiner App.
Formular-Baukästen wie Typeform, Tally oder Google FormsAusgefeilte Formulare ohne Code. Gut für eine Umfrage, die du per Link verschickst.Ein iframe oder eine separate Seite, also verliert die Antwort die Seite, um die es ging, außer du übergibst sie in der URL.
Feedback-Boards wie CannyÖffentliche Abstimmungen und Statusupdates zu Feature-Wünschen.Für Ideen gebaut, nicht für schnelle Reaktionen. Antworten sind bewusst öffentlich.
Deine eigene API-Route und DatenbankVolle Kontrolle über die Daten und jede Logik.Spamfilter, Rate-Limits, Benachrichtigungs-E-Mails und Export baust du selbst, und du brauchst einen Server.
Ein Formular-Backend wie IkiformDein eigenes Markup auf jeder Site oder App. Validierung, Spamfilter, Speicherung, E-Mail und signierte Webhooks ohne Server.Keine Screenshots, weil Datei-Uploads nicht unterstützt werden, und keine Abstimmungen oder Session Replay.

Brauchst du bei jedem Bericht Screenshots, lohnt sich das Skript eines Feedback-Tools oder Error-Trackers. Soll das Formular wie deine Site aussehen, sollen die Antworten portabel bleiben und willst du selbst entscheiden, wohin sie gehen, nimm ein Formular-Backend. Der Rest dieser Anleitung macht genau das.

Das Formular

Drei Fragen reichen: eine Bewertung, ein Kommentar und eine optionale E-Mail. Die Bewertung beantworten die Leute; im Kommentar steckt der Wert; über die E-Mail schließt du den Kreis. Wähle unten deinen Stack; die Auswahl gilt für jedes Codebeispiel in diesen Anleitungen.

Ein Block Markup und ein kurzes Skript. Ohne JavaScript sendet das Formular trotzdem und leitet weiter; mit JavaScript bleibt der Besucher auf der Seite und sieht den Fehler des Servers neben dem Button. Das Skript füllt page mit der Adresse ohne Query-String, damit Tokens in URLs nie in deinem Posteingang landen.

feedback.html
<form id="feedback" action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
  <fieldset>
    <legend>How useful was this page?</legend>
    <label><input type="radio" name="rating" value="1" required /> 1</label>
    <label><input type="radio" name="rating" value="2" /> 2</label>
    <label><input type="radio" name="rating" value="3" /> 3</label>
    <label><input type="radio" name="rating" value="4" /> 4</label>
    <label><input type="radio" name="rating" value="5" /> 5</label>
  </fieldset>
  <label for="comment">What would make it better?</label>
  <textarea id="comment" name="comment" rows="4" maxlength="4000"></textarea>
  <label for="feedback-email">Email, if you'd like a reply</label>
  <input id="feedback-email" name="email" type="email" />
  <input type="hidden" name="page" />
  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden />
  <button>Send feedback</button>
  <p id="feedback-status" role="status"></p>
</form>

<script>
  const form = document.getElementById("feedback");
  const status = document.getElementById("feedback-status");
  form.elements.page.value = location.origin + location.pathname;

  form.addEventListener("submit", async (event) => {
    event.preventDefault();
    const button = form.querySelector("button");
    button.disabled = true;
    status.textContent = "Sending";
    try {
      const response = await fetch(form.action, {
        method: "POST",
        headers: { Accept: "application/json" },
        body: new FormData(form),
      });
      const result = await response.json();
      if (result.ok) {
        form.replaceChildren(Object.assign(document.createElement("p"), { textContent: "Thanks. The team reads every note." }));
        return;
      }
      const fields = result.error.fields ?? {};
      status.textContent = fields.rating?.[0] ?? fields.comment?.[0] ?? fields.email?.[0] ?? result.error.message;
    } catch {
      status.textContent = "Couldn't send it. Try again in a moment.";
    }
    button.disabled = false;
  });
</script>
  • Ersetze frm_xxxxxxxxxxxxxxxx durch die ID deines Formulars aus dem Dashboard.
  • rating ist eine Radio-Gruppe mit fünf Werten. Ikiform speichert sie als Zahl, also brauchen Durchschnitte kein Parsing.
  • email ist optional. Leute schreiben ehrlicher, wenn sie sich nicht zu erkennen geben müssen, und wer eine Antwort will, hinterlässt sie.
  • Der versteckte _gotcha-Input ist der Honeypot. Menschen sehen ihn nie; Bots, die jeden Input ausfüllen, markieren sich selbst als Spam.
  • page hält fest, um welche Seite es in der Antwort geht. Der nächste Abschnitt erklärt, warum du sie selbst sendest.
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 Framework-Anleitungen in der Doku behandeln das Setup ausführlicher: Next.js, Astro, SvelteKit, Nuxt, React, Vue und reines HTML. Die Feedback-Formular-Vorlage erzeugt dieselben Felder als HTML, React und Server Action; die Vorlagen für Bug-Reports und Umfragen decken die längeren Formulare ab.

Felder definieren

Füge eine Definition im Tab Fields des Formulars ein, und Ikiform setzt sie bei jedem Post durch, von jeder Seite. Probier es unten aus: Die Vorschau führt den Validator von Ikiform in deinem Browser aus, sodass eine Bewertung von 0 oder eine fehlerhafte E-Mail den 422 zeigt, den du zurückbekommen würdest.

Vorschau

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

Wie hilfreich war diese Seite?

Vom Skript mit der Adresse der Seite befüllt, ohne Query-String.

Ein rating nimmt eine ganze Zahl von 1 bis zu seinem max, hier 5. Es geht bis 10, aber fünf Optionen sind schneller beantwortet.
FeldTypWarum
ratingrating, max. 5Ein Klick. Als Zahl gespeichert, sodass du pro Seite einen Durchschnitt bilden kannst
commenttextarea, bis zu 4.000 ZeichenDer Grund hinter der Bewertung
emailemail, optionalAntworte Leuten, die eine Frage stellen. Wird zur Reply-To-Adresse der Benachrichtigung
pageurl, optionalUm welche Seite es in der Antwort geht

Sind Felder definiert, wird jeder andere Name im Post als Unknown field abgelehnt. Wenn du später mehr Kontext sendest, etwa eine App-Version oder einen Tarifnamen, füge zuerst ein Feld dafür hinzu. Feld-IDs sind in Kleinbuchstaben und snake_case.

Wissen, um welche Seite es geht

Eine Bewertung ohne Seite ist schwer umzusetzen. Ikiform speichert bei jeder Einsendung die Metadaten des Browsers, aber einer dieser Werte ist weniger nützlich, als er aussieht:

WertWoher er kommtWas du bekommst
meta.user_agentVon Ikiform erfasstBrowser und Betriebssystem, bei einem Post aus dem Browser
meta.originVon Ikiform erfasstDer Origin deiner Site, etwa https://example.com
meta.referrerVon Ikiform erfasstMeist nur der Origin. Browser nutzen standardmäßig die Policy strict-origin-when-cross-origin, die den Pfad beim Senden an eine andere Site entfernt
meta.countryVon Ikiform erfasstEin Ländercode aus zwei Buchstaben
pageVon deinem Formular gesendetDer vollständige Pfad, damit du weißt, um welche Seite es in der Antwort geht

Deshalb sendet jedes Beispiel oben page selbst. Die HTML- und SPA-Versionen lesen location; die Server-Versionen lesen die Adresse, die ihr Framework schon kennt. Alle entfernen den Query-String, der Suchbegriffe, Tracking-IDs oder Einmal-Tokens enthalten kann, die du nicht speichern willst.

Die Server-Versionen senden von deinem Server, also ist meta.user_agent die Runtime deines Servers, nicht der Browser des Besuchers. Für Seiten-Feedback spielt das selten eine Rolle. Für Bug-Reports schon, und die Anleitung für Bug-Reports leitet den User-Agent des Browsers als Feld weiter.

Wo du fragst

Wo das Formular sitzt, entscheidet, was du hörst. Ein Formular im Footer jeder Seite bringt ein Rinnsal starker Meinungen. Eine Frage am Ende einer Aufgabe bringt stetige, konkrete Antworten.

PlatzierungGut fürAchte auf
Ende einer Doku-Seite oder eines ArtikelsSeiten finden, die die Frage nicht beantwortenWenig Antworten pro Seite. Werte pro Abschnitt aus, nicht pro Seite
Nach einer Aufgabe in deiner App, etwa einem Export oder einem ersten ProjektWie sich ein bestimmter Ablauf anfühlt, solange er frisch istFrag einmal pro Person, nicht jedes Mal, wenn sie die Aufgabe abschließt
Ein schwebender Button auf jeder AnsichtAlles, jederzeit. Siehe das React-WidgetEr darf deine eigenen Buttons, Cookie-Banner oder Chat-Bubbles nicht verdecken
Ein Link in einer E-MailWerte, die du über die Zeit verfolgen willst, wie NPSDer E-Mail-Client ist nicht deine Seite, also braucht das Formular eine Landingpage auf deiner Site

Halte das Formular klein, egal wo es steht. Frag zuerst nach der Bewertung und zeig das Kommentarfeld gleich mit, nicht in einem zweiten Schritt. Ein zweiter Schritt verliert die meisten Leute, und eine Bewertung ohne Grund ist trotzdem etwas wert.

Niedrige Bewertungen vor die richtigen Leute bringen

Was mit einer Antwort abhängig von ihrer Bewertung passiertAntwortgespeichertjedeBewertung,jede SeiteWebhooksubmission.createdRelayprüftBewertung3, 4 oder 5:nichtsweiterwöchentlicheAuswertungDurchschnittepro Seite ausder CSVTeam-ChatBewertung,Seite,Kommentarjemandantwortetwenn eineE-MailhinterlassenwurdesigniertExport1 oder 2Was mit einer Antwort abhängig von ihrer Bewertung passiertAntwortgespeichertjede Bewertung, jedeSeiteWebhooksubmission.createdRelay prüftBewertung3, 4 oder 5:nichts weiterwöchentlicheAuswertungDurchschnitte proSeite aus der CSVTeam-ChatBewertung,Seite,Kommentarjemandantwortetwenn eineE-MailhinterlassenwurdesigniertExport1 oder 2
  1. Jede Antwort wird gespeichert, unabhängig von ihrer Bewertung und der Seite, von der sie kam.
  2. Ikiform sendet einen signierten submission.created-Webhook an dein Relay.
  3. Das Relay liest die Bewertung. Werte von 3 bis 5 brauchen vorerst nichts weiter.
  4. Eine Bewertung von 1 oder 2 geht mit Seite und Kommentar in deinen Team-Chat.
  5. Hat der Besucher eine E-Mail hinterlassen, antwortet jemand noch am selben Tag.
  6. Einmal pro Woche zeigt der Export Durchschnitte pro Seite, und dort werden Trends sichtbar.
Alarmiere nur bei schlechten Bewertungen. Ein Channel, der bei jeder 5 von 5 pingt, wird innerhalb einer Woche stummgeschaltet.

Benachrichtigungs-E-Mails gehen an bis zu 10 bestätigte Empfänger pro Formular und kommen bei jeder Antwort. Bei ein paar Antworten am Tag ist das in Ordnung. Darüber hinaus schick die niedrigen Bewertungen mit einem Relay wie dieser Next.js-Route in den Chat; derselbe Code läuft in einem Cloudflare Worker:

app/api/feedback-alerts/route.ts
import { verifyWebhook, WebhookVerificationError } from "@ikiform/sdk/webhooks";

export async function POST(request: Request) {
  const payload = await request.text();
  try {
    const event = await verifyWebhook({
      payload,
      headers: request.headers,
      secret: process.env.IKIFORM_WEBHOOK_SECRET!,
    });
    if (event.type !== "submission.created") return new Response(null, { status: 204 });
    const { rating, comment, page, email } = event.data.fields;
    if (Number(rating) > 2) return new Response(null, { status: 204 });

    const lines = [
      `*${rating}/5* on ${page ?? event.data.meta.origin ?? "an unknown page"}`,
      comment ? `> ${String(comment).slice(0, 500)}` : "_No comment._",
      email ? `Reply to ${email}` : "Anonymous",
    ];
    const response = await fetch(process.env.SLACK_WEBHOOK_URL!, {
      method: "POST",
      headers: { "content-type": "application/json" },
      body: JSON.stringify({ text: lines.join("\n") }),
    });
    if (!response.ok) return new Response(`Slack answered ${response.status}`, { status: 502 });
    return new Response(null, { status: 204 });
  } catch (error) {
    if (error instanceof WebhookVerificationError) return new Response(error.reason, { status: 400 });
    throw error;
  }
}
  • verifyWebhook prüft Signatur und Zeitstempel, damit niemand sonst über diese URL in deinen Channel posten kann.
  • Bewertungen über 2 antworten mit 204 und hören auf. Ikiform wertet jeden 2xx als zugestellt.
  • Ein fehlgeschlagener Slack-Aufruf antwortet mit 502, und Ikiform versucht es mit derselben webhook-id erneut, sodass ein kurzer Ausfall keinen Alert verliert.
  • Feldwerte sind das, was der Besucher eingetippt hat. Das Relay kürzt den Kommentar auf 500 Zeichen, bevor er im Chat landet.

Füge den Endpunkt unter Webhooks hinzu und kopiere sein whsec_-Secret in IKIFORM_WEBHOOK_SECRET. Ein Workspace kann 3 Endpunkte haben. Für No-Code-Wege siehe Slack, Discord und Google Sheets. Für Feedback, das zu einem Ticket werden soll, hat Linear und GitHub Issues ein Relay, das pro Einsendung eins anlegt.

Es gibt keine Ein-Klick-Integrationen. Jedes Tool wird über einen signierten Webhook erreicht, direkt oder über ein Automatisierungstool wie Zapier oder n8n.

Bots fernhalten

Ein Feedback-Formular auf jeder Seite ist ein öffentliches Formular auf jeder Seite. Bots finden es, und das meiste, was sie senden, sind Links. Die Standardeinstellungen von Ikiform erledigen den Großteil:

AbwehrWas sie stopptEinrichtung
HoneypotBots, die jedes Eingabefeld ausfüllenDer versteckte _gotcha-Input in den Beispielen
Spam-BewertungDrei oder mehr Links (+2), bekannte Spam-Phrasen (+2), Wegwerf-E-Mails (+2), identische Wiederholungen (+3). Ab 5 wird es als Spam gespeichertKeine
Rate-LimitsSkripte, die in einer Schleife sendenStandardmäßig aktiv: Standard, 5 pro Minute pro Besucher, und 300 pro Minute für das ganze Formular
Erlaubte DomainsPosts von anderen SitesFüge deine Domain in den Einstellungen des Formulars hinzu
MenschlichkeitsprüfungBots, die einen echten Browser ausführenSetze Spam check auf Ikiform. Posts per fetch aus dem Browser brauchen dann ein Token von challenge()

Spam bekommt dieselbe Erfolgsantwort wie ein echter Post, löst weder E-Mail noch Webhook aus und zählt nicht zur Nutzung. Ein echter Besucher, der drei Links in einen Kommentar einfügt, kann zusammen mit einer Wiederholung die Link-Regel auslösen, also schau ab und zu in den Filter Spam. Markierst du eine Antwort als kein Spam, wird ihr Webhook dann gesendet. Die Spam-Doku erklärt jede Prüfung.

Die Antworten lesen

Lies in den ersten Wochen jeden Kommentar. Danach ist die nützliche Ansicht die Durchschnittsbewertung pro Seite, die niedrigste zuerst, mit den Kommentaren daneben.

Exportieren

Öffne Submissions, wähle das Feedback-Formular, einen Zeitraum und Export CSV. Die Spalten sind id, created_at, form und status, dann eine pro Feld, mit den Feldern oben ist rating also Spalte E und page Spalte H. Ein Export umfasst bis zu 100.000 Zeilen; die Export-Anleitung behandelt die API für mehr.

Importiere die Datei in Google Sheets und füge das hier in ein leeres Tabellenblatt ein. Es listet jede Seite mit ihrer Durchschnittsbewertung und der Zahl der Antworten auf, die schlechteste zuerst:

Google Sheets
=QUERY(A2:H, "select H, avg(E), count(E) where D = 'received' and E is not null group by H order by avg(E) asc label avg(E) 'average', count(E) 'answers'", 0)
  1. Ignoriere Seiten mit nur einer oder zwei Antworten. Ein verärgerter Besucher ist kein Trend.
  2. Lies die Kommentare zu den drei schlechtesten Seiten. Die Lösung steckt meist in den ersten paar.
  3. Wenn du eine Seite änderst, vergleiche ihren Durchschnitt der Wochen davor und danach, nicht den Gesamtwert.
Feedback ist für Ikiform auch ohne E-Mail nicht anonym: Jede Antwort speichert User-Agent, Origin, Referrer und Land sowie einen Hash der IP, der nie zurückgegeben wird. Nenne in deiner Datenschutzerklärung, was du erhebst.

Wähle deinen Fall

Das Formular oben deckt schnelle Reaktionen auf jeder Seite ab. Diese Seiten behandeln Feedback mit einer anderen Aufgabe: einen Bug, der reproduziert werden soll, einen Wunsch, der abgewogen werden soll, einen Wert, der verfolgt werden soll, oder einen Kunden, der geht.

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 pro 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. Wähle eine Bewertung, schreib einen Kommentar und sende ab. Die Dankeszeile ersetzt das Formular, oder der Browser landet bei der reinen HTML-Version auf deiner Weiterleitungsseite.
  3. Öffne Submissions im Dashboard. Die Antwort zeigt rating als Zahl und page mit dem vollständigen Pfad.
  4. Sende eine Bewertung von 6 mit curl oder aus der Browser-Konsole. Ikiform antwortet mit 422 und nennt rating.
  5. Prüfe das Postfach jedes Benachrichtigungsempfängers. Jeder bekommt eine E-Mail mit den Feldern, und Reply geht an den Absender, wenn das Formular ein email-Feld hat.
  6. Sende eine Bewertung von 1. Dein Relay postet sie in den Team-Chat, und die Zustellung unter Webhooks zeigt succeeded.
  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
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.
422 mit Rating must be at most 5Das Formular sendet eine höhere Bewertung als das max des Felds. Ändere die Radio-Werte oder erhöhe max in der Definition, bis maximal 10.
422 mit einem Unknown fieldDas Formular sendet einen Namen, der nicht in der Definition steht, oft ein neuer Hidden Input. Füge ein Feld mit dieser ID hinzu oder entferne den Input.
page ist leerDas Skript, das ihn füllt, lief nicht oder lief, bevor das Formular existierte. Setze es hinter das Formular oder setze page beim Absenden, wie es die SPA-Beispiele tun.
meta.referrer zeigt nur deine DomainErwartet. Browser senden bei Cross-Site-Posts standardmäßig nur den Origin. Nutze stattdessen das Feld page.
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.
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.
402 test_limit_reachedDer Workspace hat keinen Tarif und hat seine 50 kostenlosen localhost-Tests diesen Monat aufgebraucht. Wähle einen Tarif oder nutze Send test im Dashboard.

Fragen

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