Announcing the Magic Pages Open House. Quarterly calls with our team!

Back to blog

A contact form for your site

Your site can now have its own contact form, on your own domain, with every message sent straight to your inbox.

· 3 min read

Ghost has no contact form of its own. Until now, that left you with an email address on a page or a form from yet another service.

Your site can now have a contact form on any page, served from your own domain. Readers write to you without your email address ever showing up on the page, and each message reaches your inbox with the reader set as the reply address.

A contact form with fields for an optional name, an email address and a message, a short privacy note that links to the privacy policy, and a Send message button in the site's accent colour

Why we built it

An email address on a contact page gets scraped, and the spam follows. The usual way around that is a form service, which sends your readers' messages through another company's servers. That company then needs its own place in your privacy policy.

We already host your site and process your readers' data on your behalf. Running the form on your domain adds no one new to that list.

What you can do

In your customer portal, the form is under Configuration → Contact form. In the standalone portal, it's the Contact form tab of your site. Switch it on, copy the snippet and paste it into an HTML card on your contact page. Once the page has been opened, the portal shows where it last saw the form, like /contact 2 hours ago.

The contact form section in the customer portal, switched on and marked Live, with 2 new messages, the snippet to paste into a page, and the settings for where messages go, privacy, and texts and language

Readers only need an email address and a message, and the name is optional. They don't tick a box or click through pictures of traffic lights. Instead, their browser works through a small calculation in the background once they start filling in the form. That script comes from your own domain too, and nothing is stored on their device.

The form takes your theme's font and your accent colour. You can change every text, pick the language, and style it further with CSS.

We email you each message as soon as it arrives. Reply from Gmail, Outlook or whatever you use, and the answer goes straight to the reader. The portal keeps a copy: mark it answered when you're done, or delete it. After 6 months it's gone for good, or after 1, 3 or 12 if you pick that instead. When a reader asks what you've stored about them, search for their address and export their messages as CSV, or delete them all at once.

The messages page in the customer portal with 2 new messages, each showing the sender, the start of the message, the date it will be deleted and when it arrived, above filters for New, Answered and All, a search by email address and Export CSV

What it doesn't do

Readers don't get a copy of their message, because anyone could type in someone else's address. There's no spam folder: if a message fails our checks, we drop it before it's stored. And we never reply for you.

Before the form goes live for the first time, the account owner signs the Forms Addendum in the portal, and our data processing agreement if they haven't yet. The form follows our reading of the rules. That isn't legal advice, and whether it meets the requirements for your site is up to you.

Our help article covers the setup, styling the form, and a suggested paragraph for your privacy policy:

How to add a contact form to your site
Put a contact form on any page of your site and answer readers from your own inbox. How to set it up, style it, and handle what readers send.
Jannis Fedoruk-Betschki

Written by

Jannis Fedoruk-Betschki

Founder of Magic Pages. I build reliable Ghost hosting, so publishers can focus on what they do best − creating. When I'm not improving the platform, I'm probably helping a customer get their site just right.

You Might Also Like

Creating a custom 404 page for your Ghost site

Ghost's default 404 page is a dead end. It works, but it looks nothing like your site, and it gives the visitor almost nowhere to go. The good thing is, that you can easily replace it with a single file.

5 min read

Websites powered by Magic Pages

From personal blogs to growing businesses — published with Ghost®, hosted with care.

Loading showcase sites...

Start Your 14-Day Free Trial

No credit card required