0

After a particular email template change on one of our top performing emails we noticed the open rate dropped from a consistent 70% to 15%, this happened just by changing the content of the email itself and nothing else(domain, ip, subject etc. all remained the same)

We follow all email guidelines, have SPF, DKIM and DMARC implemented, and comply with all the new regulations gmail/yahoo 2024 requirements. We also use a dedicated IP which has a good reputation, same as our domain.

To make this story short, all our emails were going to spam on Gmail, which represents like 90% of our user base. We used several services that test inbox placement and tell you whether a particular email you sent would land on spam or not. All of them were consistently flagging the new template as spam, specifically for Gmail (If you are curious, we eventually decided to use litmus for our all subsequent email placement tests.)

After weeks of trying stuff I was able to pinpoint the issue. One of the images in the email was hosted on our aws account, and removing that image the email would pass all Gmail spam filters again.

The offending url looked like this:

https://property-simple-dev-images.s3.us-west-2.amazonaws.com/reviews.png

Having this url present in the email (or any other image url from that same bucket) in any way (as a real image src attribute or even as plain text) will consistently trigger the Gmail spam filter, meaning it lands on spam.(note that the image is just a few kb, so its not a size issue)

You can easily reproduce this yourself by using the free trial from litmus (or any other service for inbox placement tests) to test inbox placement and send a normal text email with this url in it vs without it, and you will see the spam results when its present.

We tried our spam score on https://www.mail-tester.com/ and got 10/10, meaning our email was perfect. But the placement of that same email was always landing on spam on Gmail (as long as the offending image url was present).

Again, just removing the url from the email would stop it from landing on spam. We tried adding new images to that same bucket and they all triggered the spam filter in the same way.

So my question is whats going on here? Why is having a url from any image in that bucket triggering spam filters, when we've been using images hosted in that bucket for years in our email templates and never had this issue before?

1 Answer 1

1

After a lot of testing, I noticed that If I just change the format of the URL I'm able to consistently pass the Gmail spam filters without issues.

The URL triggering spam filters was built using AWS main access style, called Virtual Hosted-Style Access, which has the following structure:

https://[bucket-name].s3-[region].amazonaws.com/[object-key]

This access style is the official one AWS gives you as soon as you upload something to your bucket.

But there's an alternative valid way of accessing the same object in the bucket, using a Path-Style Access, which has the following structure:

https://s3-[region].amazonaws.com/[bucket-name]/[object-key]

So I noticed that if I use the same image URL, but switch the style access from Virtual Hosted-Style to Path-Style Access, I was able to pass all gmail spam filters that were previously being triggered.

This meant just changing my URL from:

https://property-simple-dev-images.s3.us-west-2.amazonaws.com/reviews.png

to:

https://s3-us-west-2.amazonaws.com/property-simple-dev-images/reviews.png

So yeah, if anyone else has been struggling with something like this, definitely try this approach.

I would still like to know why the first URL format triggers the spam filters though, hopefully someone can shade some light on that.

Not the answer you're looking for? Browse other questions tagged or ask your own question.