GHOST INK - REAL EXAMPLES FROM MY LIST

Seven emails I actually sent, with the hidden block still in them.

Six of them carry ghost ink. One does not, on purpose. Open
00-CONTROL-no-ghost-ink first, then open any of the others, and diff them.
The control is what a normal marketing email looks like to a filter. The
rest are what I send now.


HOW TO READ THESE

Each email comes twice.

  *.eml           the original message. Drag it into Apple Mail, Outlook,
                  Thunderbird, or upload it to Gmail. You will not see the
                  ghost ink, which is the point.

  *.source.html   the same message as plain HTML. Open it in a text editor,
                  not a browser. Search for data-gi and you are looking
                  straight at the block.

Do both. Seeing it absent in the mail client and present in the source is
the whole lesson in about thirty seconds.


THE TREATMENT

The block is a single div. The hiding is in the style attribute:

  color:transparent;font-size:0px;line-height:0px;max-height:0px;
  mso-hide:all;overflow:hidden;display:none;opacity:0;

Every one of those declarations is carrying weight. 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. Stack all of them or you will get a
different result in every inbox.

The full div, copy it as is:

  <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>

Put it inside the body. The passage runs about 300 words.


THE FOUR THINGS THAT ACTUALLY MATTER

1. The hiding has to survive every client. See above. Do not shorten it.

2. One block per email, never two. This sounds obvious until you have
   something injecting 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

Keep the hidden text honest and relevant to the email you are actually
sending. 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 I
use 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.


WHAT I CHANGED IN THESE FILES

These are real sends, so they arrived carrying things that should not be in
a public download. Before packaging I replaced the recipient address, the
per subscriber unsubscribe token, the click and open tracking tokens, and
the internal sending ids. The DKIM and ARC signature headers are removed,
because once a message has been edited they cannot validate and a broken
signature is more confusing than no signature.

The authentication results header is left in so you can see SPF, DKIM and
DMARC passing on a real send.

Everything else, including the entire HTML body and the ghost ink block, is
exactly as it went out.


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 Inbox Insiders there is a tool that connects to
whatever you send from and writes and injects the block per email, with all
four rules handled.

https://leadgenjay.com/insiders

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

Jay
