After Submission
When a form is submitted without JavaScript, the browser navigates away from your site to Formiary, so the page the visitor lands on is one we render. This page covers how to control it.
fetch call gets JSON
back and your page never navigates, so you already control what happens — see
What your visitor sees.Everything here is configured on a form's Settings tab, under After submission, and requires a paid plan.
Redirect to your own page
Set a Redirect URL and a successful submission sends the visitor straight there instead of showing a Formiary page:
https://example.com/thanks
The URL must be absolute, start with http:// or https://, and point at a
domain you've added and verified — either the domain itself or
any subdomain of it. If you've verified example.com, all of these work:
https://example.com/thanks
https://www.example.com/thanks
https://thanks.example.com
Leave the field empty to show the hosted confirmation page instead.
formiary.com link to bounce visitors to a site they don't own — so we'd
be handing out a redirect service for phishing. Verifying a domain proves you
control it.If your team hasn't verified a domain yet, the field explains that and links you to where to add one.
The redirect is a 303 See Other, so the browser fetches your thank-you page
with a normal GET — a visitor who refreshes it won't resubmit the form.
Formiary doesn't append anything to the URL, so your thank-you page won't know
which submission it came from; if you need that, submit with JavaScript instead
and handle the response yourself.
Custom wording
You can replace the text on the hosted pages:
| Field | Default |
|---|---|
| Success heading | Thanks — we got it |
| Success subheading | Your submission to (form name) was received. |
| Error heading | Your submission wasn't sent |
| Error subheading | Please correct the following and try again: |
Each field is independent — set just the success heading and everything else keeps its default. Clear a field to go back to the default; the greyed-out text in each input shows what that default is.
Headings are limited to 120 characters and subheadings to 300, since they render on a small card.
Custom colors
Turn on Use custom colors to match the hosted pages to your brand. You set eight colors:
- Page background — behind the card
- Card — the surface the message sits on
- Text — headings and body copy
- Muted text — the secondary line under the heading
- Border — the card outline and rules
- Button and Button label
- Success — the tick on the confirmation page
- Error — the warning mark and field errors
Enter any hex color (#1a2b3c or the #abc shorthand), or use the color picker
next to each field. The preview beside the editor updates as you type and shows
both the success and error states.
Light and dark
You configure two palettes, and the page follows the visitor's system theme — so someone browsing in dark mode sees your dark palette, not a bright card. Both are required for that reason: with only one, half your visitors would get your brand and the other half would get our defaults.
Switch between them with the Light / Dark tabs. Forms without custom colors keep using the built-in palettes, which already adapt on their own.
Readability warnings
As you pick colors, Formiary checks the combinations a visitor has to read — text on the card, muted text on the card, error text on the card, and the button label on the button — against the WCAG AA contrast minimum. Anything below it gets a warning naming the pair and its ratio.
These are warnings, not errors: you can save whatever colors you want. The point is that low contrast is the failure that's hardest to catch yourself — muted grey on white looks fine while you're choosing it and turns out to be unreadable on someone else's screen.
What free plans get
Forms on the Free plan always show the hosted pages with the built-in colors and wording. They still work fine — visitors get a clear confirmation, and errors list exactly which fields need fixing with a Go back and fix button that returns them to their half-filled form.
If you downgrade, a saved redirect, palette, and wording are kept but not applied. Upgrading again restores them; you don't have to set them up twice.