Skip to content

Common problem

The spam now reads like a real customer

The short answer

If you are opening every message to work out whether it is real, the spam is doing its job. A growing share of it is drafted by a model now, so it has your town in it, a sentence about your work and a plausible ask. Nothing about how it was submitted gives it away — only what it says does.

Where it breaks

  1. The form
  2. The address
  3. Sending
  4. A filter
  5. The inbox
  6. A person

Which one is it?

Work down the list. Each one takes less time than the one after it, and you can stop as soon as something matches.

  1. The opening would fit any company on earth

    A filter
    How to tell
    “I came across your website and was impressed by your recent work.” Read it again with a different company’s name in it and nothing breaks. A real enquiry cannot survive that substitution, because it refers to something only you did — a job, a product, a page, a price.
    What to do
    Make the substitution test a habit before you reply to anything. It costs three seconds and it is the single reliable tell, because it is the one thing a message sent to ten thousand people cannot fake.
  2. It asks for your time, not for an answer

    A filter
    How to tell
    Fifteen minutes, a quick call, a chat on Thursday. Somebody who wants to buy asks a question you can answer in writing: do you cover this postcode, what does that cost, can you do it before the end of the month.
    What to do
    Sort by what is being asked rather than by how polite the message is. Politeness used to be the signal because spam was not polite; that stopped being true and nobody announced it.
  3. The credential in it cannot be checked

    A filter
    How to tell
    “We helped a company like yours grow 40%.” No client named, no case to look at, no way to verify the number. A real referral names who sent them, because that is the whole value of a referral.
    What to do
    Ask one specific follow-up question. A person answers it; a sequence sends the next scheduled message and never addresses what you asked.
  4. Your defences test the submission, not the message

    The form
    How to tell
    A honeypot, a timing check and a CAPTCHA all ask how the form was filled in. This is filled in normally — often by a person, sometimes by a browser doing a fair impression of one — so all three let it through and report nothing unusual.
    What to do
    Keep them. They still stop the crude automated volume for free and cost your visitors nothing. Just stop expecting them to help with this half, and stop tightening them when they do not: that is where real enquiries start disappearing.
  5. Nothing is judging what the message actually says

    A filter Where we come in
    How to tell
    Keyword lists were the last layer that looked at content, and they fail here for a specific reason: a model does not use blocked words. It writes the message a real customer would write, which is exactly what a list of bad words cannot catch.
    What to do
    Judge the content instead. That is what we do, and the part worth holding us to is that our mistakes are visible: anything held is kept, listed with the reason, and reversible. Run a week of dry run first — everything is delivered exactly as it is today, and at the end you get a list of what would have been held.

Why this got worse without anything changing on your site

Nothing on your site broke and you did not start attracting a worse class of sender. Writing a plausible, specific, personalised message used to cost somebody several minutes, which is what made volume and quality mutually exclusive. That cost went to roughly zero, and the two stopped being a trade-off. Your form is the same form; the economics on the other side of it are not.

42%

of the WordPress contact pages we could read carry a CAPTCHA — and a CAPTCHA has nothing to say about a message a person, or a browser impersonating one, typed normally. It tests the submission, not the sentence.

From our study of 598 contact pages

Where the setting lives

The exact menu path, per builder, with the field named.

Find out where your forms actually deliver

Our free check reads your contact page and tells you what it finds. No account, nothing installed, and nothing on your site changes.

Questions people ask about this

Can you tell for certain that a model wrote it?

No, and be wary of anything claiming otherwise — detectors that promise to identify machine-written text are unreliable enough that schools have stopped relying on them. That is why the question worth asking is not “did software write this” but “is this a real enquiry”, which is answerable from what is being asked and what is being claimed.

Some of these are sent by real people, though.

Quite a lot of them, and it makes no difference to the decision. A person pasting a generated pitch into your form is sending you the same message for the same reason. Judging the content rather than the sender is what makes that distinction stop mattering.

If I filter these, will I lose a real enquiry?

It is the right worry and the honest answer is that any filter can be wrong. What matters is whether you find out: a CAPTCHA’s mistakes leave no record and no name, while a held message stays in a list with the reason it was held. Start in dry run — a week where nothing is held at all and you simply read what would have been.

More on this

Related

Last checked 20 September 2026. Everything this page says about somebody else's product comes from their own documentation:

We would like to count visits with Google Analytics, which sets two cookies. Decline and nothing is loaded and nothing is sent. What these are.