Thanks to Markus, I was able to login to @t-online.de webmail and see the problem firsthand.
And it definitely is a T-Online problem, not a Marketo problem. Marketo is sending totally valid HTML, but the T-Online HTML parser must've been built by someone who didn't read the HTML standard (which hasn't changed in this regard since at least HTML 3.2!) carefully. And no one ever reported the bug and it's been sitting there for who-knows-how-long.
Unfortunately, I have no single answer for you. It's going to come down to how important these leads are. We discussed this very case in our MUG office hours today and here are the strategies to choose from (more than one might be used simultaneously):
Finally, I thought this was a pretty funny tip on T-Online's site:
We had whole emails being distorted/broken by the T-Online browser client for years., too.
The initial solution was to place a "view in browser" snippet stating "If the email is not displaying properly please click here to view in browser". Not ideal.
We finally came to a better solution, that fixed the broken email body in the T-Online client.
At the last Germany MUG I talked to a Marketo Admin, who has a developer background and lots of T-Online users in his customer database. He faced the same issues, but fortunately had enough coding background and finally came up with this easy-to-implement solution:
The issue seems to be in how the T-Online browser client parses new line breaks.
The solution is to insert two velocity tokens into the html of the email asset, that remove the new line breaks.
You can name the tokens whatever you like:
T-online start token content:
#define( $mail )
T-online end token content:
#end $mail.toString().replaceAll("\n","")
You place each token accordingly at the start and end of the email body into an invisible div:
T-online start token :
<div style="display: none;">
{{my.T-online start}}
</div>
T-online end token :
<div style="display: none;">
{{my.T-online end}}
</div>
This seems to work fine and not interfere with the display in other email clients.
Tested and implemented this solution in both, local asset and global template.
Known issues:
After implementation, in the T-online browser client, below the email body, you will see the "broken link" of Marketo's open tracker. A line that looks something like this: /mktmail.testcompany.de/NDAAAAGRJ2wI8CA_xqNEX0j9f9Tq4S3rHYa-ZarKN7IbC27rs=">
As this tracker is not part of the html and added by Marketo on sent, we have not found a solution to fix this glitch, yet.
Anyways, on the good side the emails now display correctly in the T-Online browser client, better than the snippet solution we had before.
Yep, this is the “defineburger” technique. I spoke about it at a recent Adobe Experience Makers conference. We generally don’t use it as a global wrapper because it can make Velocity debugging as a whole trickier. (Nested #define
blocks behave curiously, as you may know.)
Thanks Sanford. Good to know.
Don't have that in-depth knowledge (yet) 😉
Another aspect here is the code isn’t optimal. No reason for a regex here. Instead use:
$mail.toString().replace("\u000d\u000a","")
@KevinH ,
What impact does this have on tracked links?
I experimented with something similar (for an entirely different reason however) and recall having issues with link tracking.
Cheers
Jo
Good question @Jo_Pitts1
We are still testing this solution for pitfalls and I was wondering myself, given the possibly broken open tracker at least in the T-online client.
Will post any findings.
Cheers
So Marketo's open and click tracking looks to be fine. Tested with clicks and opens in T-online client, Googlemail and Outlook. They all show up on the email program's engagement dashboard.
Cheers