logo
PagesLinks

Make the form required or let visitors skip it

Mandatory Forms? removes the close button; otherwise visitors can skip. What happens after submit or skip: same short link, Smart Rules, WhatsApp, cookie.

Avatar for undefined
CodeQR Team
Content Team

After reading this page you can decide whether a visitor must fill in the form to reach the destination or may skip it, and you can predict exactly where they land afterwards — including a WhatsApp conversation, an app store, or a Smart Rules destination.

Availability

  • Plan: Business and above (pricing).
  • Where: link builder or QR code editor → Pre-redirection formMandatory Forms?. The checkbox is enabled only with Use platform form and a selected page. External forms can always be closed.

Required or skippable

  • Close button in the modal — Skippable (default): yes · Required (Mandatory Forms? checked): no
  • Visitor path — Skippable (default): fill in and submit, or close and continue · Required (Mandatory Forms? checked): fill in and submit
  • Works with — Skippable (default): CodeQR Page form, external form · Required (Mandatory Forms? checked): CodeQR Page form only
  • What CodeQR records — Skippable (default): FORM_FILLED or CONTINUED_WITHOUT_FORM in the visitor's cookie · Required (Mandatory Forms? checked): FORM_FILLED

Turning it on: open the link (Edit) or the QR code, tick Mandatory Forms? under the selected page, and click Save link. Via the API, send "isFormMandatory": true together with pageId and pageUrl; without a pageId the API answers 400 CodeQR page required for form submission.

The Pre-redirection form section with a platform page selected and the Mandatory Forms? checkbox ticked

The visitor modal on a phone with a required form: title, Name and Email fields, the consent checkbox and the button, and no close button anywhere

What happens after the form

  1. Submit — CodeQR saves the response and sends the visitor back through the same short link with a marker that says "form done". The link then behaves like any other CodeQR link: Smart Rules, iOS Targeting, Android Targeting, Geographic Targeting and Link Cloaking all apply. The visitor lands on the destination that those rules choose.
  2. Skip (skippable forms only) — same path, with a "continued without form" marker. No response is saved.
  3. Either way, CodeQR sets a skipForm cookie for one hour, scoped to that link or QR code. During that hour the same browser goes straight to the destination; after that, the form shows again. Skipping is as sticky as submitting.
  4. The click or scan was already counted when the visitor first opened the link, before the form. Submitting does not count a second click.

Where "the destination" is, per type:

  • Short link, dynamic URL QR code — After the form the visitor gets: the Destination URL, or the URL chosen by Smart Rules and targeting
  • WhatsApp QR code — After the form the visitor gets: https://wa.me/<number>?text=<your message> — WhatsApp opens with the message pre-filled
  • Wi-Fi, vCard, text and other dynamic QR types — After the form the visitor gets: the QR code's own display page

Two things that do not happen in this flow:

  • Query parameters on the short link are not forwarded. A visitor who opened https://go.example.com/promo?utm_source=newsletter lands on the destination without utm_source. The UTM values are stored with the response (they appear in the CSV export and in customFields of the lead), but your destination's analytics will not see them.
  • The page's After Submission settings (thank-you message, redirect URL) belong to the standalone page and are not shown here — the redirect to the destination replaces them.

Choosing

  • Required when the destination is the reward (an ebook, a coupon, a document) and you would rather have fewer, real leads than traffic. Expect a drop: a public contact form converts under 10% of the people who see it, and mobile forms convert several points below desktop; every extra field costs more.
  • Skippable when the destination is your product, menu or listing and the form is a bonus. You keep the traffic; you count how many chose to leave their contact.
  • Legal note. In the EU and UK, consent is not "freely given" when access to a service is tied to consenting to marketing; in Brazil the LGPD voids generic authorisations. A required form should collect what you need to deliver the promised thing, and the consent text should say what you will do with it. Keep the privacy policy link visible; CodeQR stores the consent text and time with each response.

Verify it works

# first visit: the form page (200), one-hour cq_id cookie
curl -sI -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X)" https://go.example.com/promo | grep -iE "^HTTP|x-pathname"
# HTTP/2 200
# x-pathname: /go.example.com/pre-redirection/promo/link

# after submit or skip: the browser carries skipForm and gets the destination
curl -sI -b "skipForm=FORM_FILLED" https://go.example.com/promo | grep -iE "^HTTP|location"
# HTTP/2 302
# location: https://example.com/promo

# WhatsApp QR code after the form
curl -sI -b "skipForm=FORM_FILLED" https://go.example.com/wa-qr | grep -i location
# location: https://wa.me/5511999999999?text=Hi%2C%20I%20want%20the%20catalog

In a browser: open the link in a private window, submit, and watch the address bar go from the short link to the destination.

Troubleshooting

The visitor closed the modal and reached the page anyway

The form is skippable, or it is an external form (always skippable). Tick Mandatory Forms? on a platform page and save.

The form shows the first time and never again while I test

The one-hour skipForm cookie. Open a private window for each test, or clear cookies for the link's domain.

UTM parameters do not reach my landing page after the form

By design today: the redirect after the form is built from the short link itself. Put the UTM values on the destination URL in the link builder (UTM Builder) if your analytics needs them; the visitor's original parameters are kept with the response.

The visitor lands on the destination and not on the Smart Rules variant I expected

The rules ran after the form exactly as they run without it. Check the rule order and the visitor's device or country as usual: Send each visitor to the right destination with Smart Rules.

Related articles