Lead Gen Jay

You're In! Here Are The Real Sends

Six marketing emails I actually sent, with the hidden block still in them, plus one with no block at all so you have something to compare against. Open the raw source and you are looking at exactly what the filter reads.

Download the examples

ghost-ink-examples.zip · 49 KB · 15 files · no password, no signup

First, open a .eml in your mail client

Drag it into Apple Mail, Outlook or Thunderbird, or upload it to Gmail. You will not see the ghost ink anywhere. That is the point, and it is what the recipient sees.

Then open the matching .source.html

In a text editor, not a browser. Search for data-gi and you are looking straight at the block. Seeing it absent in one and present in the other is the whole lesson.

Start with 00-CONTROL-no-ghost-ink.eml. It is a real send of mine with no hidden block in it, and it is easy to scroll past in a file list. It is what a normal marketing email looks like to a filter. Every other file is what I send now. Diff the two and you can see exactly what changed.

What is in the zip

  • 00-CONTROL-no-ghost-ink.eml + .source.htmlA real send with no hidden block. This is your comparison.
  • 01-5x-your-reply-rates.eml + .source.htmlReply rates.
  • 02-copy-my-tech-stack.eml + .source.htmlTech stack.
  • 03-cold-email-copy-framework.eml + .source.htmlCopy framework.
  • 04-zero-to-claude-wizard.eml + .source.htmlClaude Code.
  • 05-why-they-call-me-lead-gen-jay.eml + .source.htmlOrigin story.
  • 06-loss-leaders-trojan-horses.eml + .source.htmlOffer structure.

Six carry ghost ink, one does not. There are only six because I picked one send per distinct hidden passage, and eleven recent emails only had six different paragraphs between them. Shipping ten would have put the same paragraph in front of you four times, which breaks rule three below.

The treatment

The block is a single div. All of the hiding lives in the style attribute, and every declaration in it is carrying weight.

The style attribute

Copy it exactly. Shortening this is the most common way people get a different result in every inbox.

Style attribute
color:transparent;font-size:0px;line-height:0px;max-height:0px;mso-hide:all;overflow:hidden;display:none;opacity:0;
Do not trim these declarations. display:none on its own gets ignored by some clients. A transparent font on its own leaves a gap where the text sits. Zero font size on its own breaks in Outlook, which is what mso-hide:all is there for.

The full div

Paste this inside the body of your email and swap in your own passage. It runs about 300 words.

Copy and paste
<div data-gi="1" style="color:transparent;font-size:0px;line-height:0px;max-height:0px;mso-hide:all;overflow:hidden;display:none;opacity:0;">YOUR PASSAGE HERE</div>
The data-gi attribute does nothing to the rendering. It is a handle, so your injector can find an existing block and replace it instead of adding a second one. That is rule two, and it is the one automation breaks first.

What goes inside it

This is the real hidden passage from 01-5x-your-reply-rates.source.html, the opening of it. Nobody who received that email ever saw a word of it. Notice what it is not: no keyword list, no claims, nothing that contradicts the visible email. It reads like something a person wrote about the same subject, because that is what it has to be.

I was talking with a friend recently about lead lists, and we ended up on the question that comes up every time volume starts to grow: how many of these people would we honestly be excited to work with? It is easy to celebrate a large count because the number is visible and immediate. Quality takes longer to reveal itself. You see it in whether the company has the problem you solve, whether the timing makes sense, and whether the person you contacted can actually move the conversation forward.

The four things that actually matter

Everything else about this is detail. Get these wrong and the treatment either stops working or starts working against you.

1

The hiding has to survive every client

Do not shorten the style attribute. display:none alone gets ignored by some clients. A transparent font alone leaves a gap where the text sits. Zero font size alone breaks in Outlook, which is what mso-hide:all is there for. Stack all of them or you get a different result in every inbox.

2

One block per email, never two

Obvious until something injects the block automatically and an email gets processed twice. Two hidden blocks in one message is the fastest way to look like you are gaming something. Make your injector check for an existing block and replace it rather than adding another.

3

Never the same paragraph twice

If every email you send for a year carries an identical hidden paragraph, you have built a fingerprint and handed it over. Write a pool and rotate. Match the passage to what the email is about.

4

Same email in, same passage out

If you resend, or a sequence re-fires, the message should come out byte for byte identical to the first send.

Two rules I will not bend on

Skip these and you are not doing the thing on this page. You are doing the thing filters were built to catch.

Keep the hidden text honest

There is a version of this that is abuse, and it is worth naming: hiding a wall of keywords, hiding claims you would never put in the visible email, hiding text that contradicts what the reader is shown. That is deception, and it is exactly what filters were built to catch. The test is simple. If you would be fine with the recipient reading the hidden part, you are fine. If you would not, do not send it.

This moves placement, not reputation

If your domain is burned, your bounce rate is ugly, or you bought the list, this does nothing for you. You will land in spam with beautiful hidden text. Get the boring infrastructure right first, then add this on top.

If you want this done for you

Writing the passages and wiring the injection into your platform is the part that took me the longest, and it works differently in GoHighLevel, Kit and Listmonk. Inside Lead Gen Insiders there is an Email Optimizer that connects to whatever you send from, then writes and injects the block per email with all four rules handled for you.

Either way, the treatment above is the whole trick. Go use it.

See Lead Gen Insiders