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
Team Contenuti

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 and 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, because a static code encodes the destination itself. The editor disables the toggle on static codes and the API refuses the combination. Create a dynamic QR code.
  4. The page is not published. Visitors skip the form and go straight to the destination, even with Mandatory Forms? ticked, and no lead is recorded. Open the page and turn on the switch next to the page name.
  5. The form was never switched on. Below Business the toggle is disabled and shows a Business badge, so links and QR codes created on those plans have no form. A form saved while the workspace was on Business keeps showing after a downgrade; you can turn it off, but not back on without upgrading.
  6. The change did not save. With the toggle on and no page selected, saving fails with Pre-redirection page URL missing and the link keeps its previous behavior. Select a page or paste the external URL and save.
  7. The link is expired or password protected. Those checks run first: an expired link never reaches the form, and a protected link shows it after the password. 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

Require a consent checkbox is on and the visitor has not ticked I have read and agree. To remove the box, turn that setting off in the page's Consent section; the form then shows the consent text as a notice. An empty required field does not grey the button: pressing it shows the error under the field.

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.
  • This page is not published, so it cannot receive submissions right now.: the page was unpublished after the visitor opened the form. If they reload, they go to the destination. To collect leads again, open the page and turn on the switch next to the page name.
  • A message under a field: the value failed that field's validation (pattern, length, min/max). Relax the validation in Form Fields if legitimate visitors hit it.
  • Some fields are invalid. Please review and try again.: the submission as a whole went over a limit (100 fields or 100 KB).
  • 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. They skip Events and 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", so the lead is on the old record. If the contact never existed, check the connector's field mapping in Settings → Integrations 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

After the form, the visitor goes through the short link with the query string they arrived with, so ?utm_source=… reaches the destination whether they submit or skip. If the values are missing, check the URL the visitor opened: only parameters on that URL travel. To tag every visit, including a printed QR code, add the values to the Destination URL with the UTM Builder. If the same parameter is on both, the visitor's value wins.

WhatsApp, Wi-Fi, vCard and other QR types without a destination URL do not receive the parameters. The utm_* values are also saved with the response, appear in the CSV export and are sent with the lead in customFields.

The form is in the wrong language, or mixes languages

Your own texts (title, field labels, button, your consent text) appear as you wrote them, so write them in the language of your audience. The texts CodeQR supplies, such as the default consent text, I have read and agree and the last line of the modal (report abuse, terms), follow the visitor's language, and the form has a language menu.

The page shows more starts or completions than views

Views counts visits to the page's own URL. A form opened through a link or QR code adds no view, but its responses count in Starts and Completions, so those numbers can pass Views. Every submission is listed in Responses.

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

MessageFix

Pre-redirection page URL missing

send pageUrl (the server does not derive it from pageId)

Invalid pre-redirection page URL

pageUrl must be an absolute http(s) URL

CodeQR page required for form submission

isFormMandatory: true needs a pageId; external forms cannot be mandatory

Page not found

the pageId does not exist

Pre-redirection forms only work on dynamic QR codes…

send "static": false, or "preRedirection": false for a static code

You can only use pre-redirection on a Business plan and above…

upgrade, or send preRedirection: false