logo
PagesLinks

The form did not show or the lead did not arrive

Symptom-by-symptom fixes: form does not appear or appears once, fails in Instagram, blank Google Form, grey button, lead missing from Events or Zapier.

Avatar for undefined
CodeQR Team
Content Team

Find your symptom below. Each entry gives the cause CodeQR knows about, the fix, and where to read more. Terms: "platform form" is a CodeQR Page form; "external form" is a Google Form, Typeform, Tally or other URL shown in the modal.

The form does not appear — the link goes straight to the destination

Check in this order:

  1. You already saw it in this browser in the last hour. After a submission or a skip, CodeQR sets a skipForm cookie for one hour on that link. Open a private window or another browser. This is the most common report.
  2. The link or QR code was opened by a bot or a link preview. WhatsApp, Slack, Facebook, Google and other crawlers get the destination directly. Test with a real browser or curl -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X)": the answer must be 200 with x-pathname: /<domain>/pre-redirection/<key>/link.
  3. The QR code is static. Only dynamic QR codes show the form; the editor disables the toggle on static codes ("Pre-redirection pages are only available for dynamic QR codes"). The API accepts the fields on a static code, but the printed code encodes the destination and nothing runs. Create a dynamic QR code.
  4. The workspace dropped below Business. The form is a Business feature; on Free, Starter or Pro the toggle shows a Business badge and links keep redirecting without a form.
  5. The toggle is on but no page is selected (preRedirection: true with an empty pageUrl, possible through the API). Select a page or paste the external URL and save.
  6. The link is cloaked, expired or password protected: those run first. Fix the link itself.

The form appears the first time and never again

Same one-hour skipForm cookie. Skipping counts as much as submitting. For repeated tests use private windows; for a real visitor, the form returns after an hour.

The form does not load inside Instagram, Facebook or TikTok

QR codes scanned with the camera open the phone's real browser and work. The same link tapped inside a social app opens the app's in-app browser, where third-party cookies, Google sign-in, file uploads and some scripts are blocked or broken — Typeform and Jotform have both reported forms failing there, and the fix depended on Meta. What you can do:

  • Prefer a platform form (same origin, no third-party cookies, no sign-in) over an external one for social traffic.
  • Tell visitors to open the link in their browser (the "⋯" menu → "Open in browser") when you know the traffic comes from a bio link.
  • Keep the form short; uploads and Google sign-in do not work in in-app browsers.

The modal opens with a blank box (external form)

The form provider does not allow its page inside another site (X-Frame-Options, CSP frame-ancestors), or the visitor's browser blocked it (Safari with strict cookie settings, an ad blocker). The request returns 200, the box stays empty. Only the form's owner can allow embedding; otherwise use a platform form. See Use a Google Form or Typeform before the redirect.

The Google Form asks the visitor to sign in

The form has a file-upload question, "Limit to 1 response" or verified email collection. Turn those off in Google Forms or move the form to a CodeQR Page.

The submit button stays grey

The visitor has not ticked I have read and agree. Consent is required on every platform form and cannot be disabled. If the button is grey with the box ticked, a required field is empty — the browser marks it when the visitor tries to submit.

The visitor submitted and nothing happened, or "Too many submissions"

  • Too many submissions. Please try again in a moment. — more than 10 submissions in one minute from the same IP address on that page (a shared network at an event can hit it). Wait a minute.
  • Please accept the consent agreement to continue. — the consent box was unticked when the request reached the server.
  • Some fields are invalid. Please review and try again. — a value failed the field's validation (pattern, length, min/max). Relax the validation in Form Fields if legitimate visitors hit it.
  • External form: the visitor sees the tool's own confirmation and must close the modal to continue. CodeQR is not told about the submission.

The visitor closed the modal and reached the page without filling the form

The form is skippable, or it is an external form. Tick Mandatory Forms? on a platform page: Make the form required or let visitors skip it.

The response is in Responses but the lead is not in Events, Analytics or Zapier

The page's Conversion tracking switch is off. With it off, leads go to Responses, Customers, the email and the CRM connectors — not to Events, not to lead.created webhooks. Turn it on in Pages → your page → Form Content and save; it applies from the next submission. Conversion tracking needs Pro or above. Full routing table: Where your leads go.

The lead is in Google Sheets but not in HubSpot, RD Station or Kommo

Each connector receives the lead separately. CRMs deduplicate by email: a repeated address updates the existing contact and answers "already exists" — the lead is there, on the old record. If the contact never existed, check the connector's field mapping in SettingsIntegrations and the connector's own log.

No email arrived for a new lead

Email me new leads is off for that page, or you are a member and not an owner (emails go to owners), or it landed in spam. Emails are sent for completed submissions only; there is no push notification for leads.

The same lead appears twice in my automation

Your endpoint answered slowly and the delivery was retried, or two subscriptions listen to lead.created. Deduplicate by the customer id and answer 200 before processing. CodeQR itself records at most 5 leads per hour for the same email and event.

UTM parameters are missing on the destination after the form

By design today: after the form, the visitor is sent through the short link without the original query string. The UTM values are stored with the response (CSV export, customFields in the webhook), not forwarded. If your landing page must receive them, add them to the Destination URL with the UTM Builder in the link builder.

The form is in the wrong language, or mixes languages

The form itself renders in the language of the page's texts (your titles, labels and consent text). The frame around it — report abuse, terms — is in Portuguese for every visitor today. Write the page's texts in the language of your audience.

The page card shows 0 views, 0 starts, 0 completed but Responses has rows

The funnel counters on the page card count visits to the standalone page. Submissions made through the Pre-redirection modal are listed in Responses and counted in Events (with Conversion tracking on), not in those three counters.

The picker does not show my page

Only pages of the current workspace are listed. Switch workspace or create the page here.

Spam or junk leads

CodeQR applies a hidden honeypot field (bots that fill every field are discarded), a limit of 10 submissions per minute per IP and page, and server-side validation of every field. To go further: mark the email as required with the email pattern, avoid free-text fields you do not need, and export regularly to spot bursts. There is no CAPTCHA on the form.

The API refuses my request

  • Pre-redirection page URL missing — Fix: send pageUrl (the server does not derive it from pageId)
  • Invalid pre-redirection page URL — Fix: pageUrl must be an absolute http(s) URL
  • CodeQR page required for form submission — Fix: isFormMandatory: true needs a pageId; external forms cannot be mandatory
  • Page not found — Fix: the pageId does not exist
  • You can only use pre-redirection on a Business plan and above… — Fix: upgrade, or send preRedirection: false

Related articles