Skip to content

Instantly share code, notes, and snippets.

@dhh
Last active June 30, 2024 14:35
Show Gist options
  • Save dhh/360f4dc7ddbce786f8e82b97cdad9d20 to your computer and use it in GitHub Desktop.
Save dhh/360f4dc7ddbce786f8e82b97cdad9d20 to your computer and use it in GitHub Desktop.
Current list of spy pixels named'n'shamed in HEY, as of April 23, 2020
module Entry::TrackerBlocking
extend ActiveSupport::Concern
included do
has_many :blocked_trackers
end
email_service_blockers = {
"ActiveCampaign" => /lt\.php(.*)?l\=open/,
"AWeber" => "openrate.aweber.com",
"Bananatag" => "bl-1.com",
"Boomerang" => "mailstat.us/tr",
"Campaign Monitor" => /cmail(\d+)\.com\/t\//,
"Cirrus Insight" => "tracking.cirrusinsight.com",
"Close" => "close.com/email_opened",
"Constant Contact" => "rs6.net/on.jsp",
"ContactMonkey" => "contactmonkey.com/api/v1/tracker",
"ConvertKit" => "convertkit-mail.com/o",
"Critical Impact" => "portal.criticalimpact.com/c2/",
"Emarsys" => "emarsys.com/e2t/o/",
"Gem" => "zen.sr/o",
"Getnotify" => "email81.com/case",
"GetResponse" => "getresponse.com/open.html",
"GrowthDot" => "growthdot.com/api/mail-tracking",
"FreshMail" => /\/o\/(\w){10,}\/(\w){10,}/,
"Front" => /app\.frontapp\.com\/(.*)?\/seen/,
"Hubspot" => /t\.(hubspotemail|hubspotfree|signaux|senal|sidekickopen|sigopn)/,
"iContact" => "click.icptrack.com/icp",
"Intercom" => [ "via.intercom.io/o", "intercom-mail.com/via/o" ],
"Litmus" => "emltrk.com",
"Mailchimp" => "list-manage.com/track",
"Mailgun" => /email\.(mailgun|mg)(.*)?\/o/,
"Mailjet" => "mjt.lu/oo",
"Mailspring" => "getmailspring.com/open",
"MailTrack" => [ "mailtrack.io/trace", "mltrk.io/pixel" ],
"Mandrill" => "mandrillapp.com/track",
"Marketo" => "resources.marketo.com/trk",
"MixMax" => /(email|track)\.mixmax\.com/,
"Mixpanel" => "api.mixpanel.com/track",
"NetHunt" => /nethunt\.co(.*)?\/pixel\.gif/,
"Newton" => "tr.cloudmagic.com",
"Outreach" => "api/mailings/opened",
"phpList" => "phplist.com/lists/ut.php",
"Polymail" => "polymail.io",
"Postmark" => "pstmrk.it/open",
"Return Path" => "returnpath.net/pixel.gif",
"Sailthru" => "sailthru.com/trk",
"Salesforce" => "nova.collect.igodigital.com",
"SendGrid" => "wf/open?upn",
"Sendy" => "/sendy/t/",
"Streak" => "mailfoogae.appspot.com",
"Superhuman" => "r.superhuman.com",
"Thunderhead" => "na5.thunderhead.com",
"Tinyletter" => /tinyletterapp\.com.*?open\.gif/,
"YAMM" => "yamm-track.appspot",
"Yesware" => "t.yesware.com",
"Zendesk Sell" => "futuresimple.com/api/v1/sprite.png"
}.collect { |service, pattern| EmailServicePixel.new(service, pattern) }
specialized_blockers = [ LitmusCssPixelBlocker.new, GmassPixelBlocker.new ]
# Need to make sure GenericSmallPixel is always the last one on the list. Otherwise, it could catch pixels for some
# of the services we're explicitly tracking.
TRACKING_BLOCKERS = email_service_blockers + specialized_blockers + [ GenericSmallPixel.new ]
end
@dhh
Copy link
Author

dhh commented Apr 25, 2020

Please! Would love to see as many places as possible blocking these spy pixels.

@mesqueeb
Copy link

@dhh no I meant HOW can I use this? I'm not good with ruby. Is this usable as blocker inside an website extension or is it something else ?

@rdelandesen
Copy link

Sendinblue has several domains: sendibt1.com sendibt2.com sendibt3.com sendibt4.com
sendibt(\d).com

@koenrh
Copy link

koenrh commented Apr 25, 2020

Here's one used by Wix:

tyle=3D"font-weight:normal"><span><span>If you feel you received it by mist=
ake or wish to unsubscribe, <b><u>click here</u></b></span></span></strong>=
</a></div></td></tr></table></div><!--[if mso | IE]></td></tr></table><![en=
dif]--></td></tr></tbody></table></div><!--[if mso | IE]></td></tr></table>=
<![endif]--></td></tr></tbody></table><img src=3D"https://shoutout.wix.com/=
so/pixel/86b33f55-4657-48fb-b834-fea289d86a0d/66976d48-dace-4532-b8a1-58b2c=
0b62213/3fdd485e-a825-47e3-87af-e5850af66d09/87daff67-230a-4072-ae4c-2afa85=
ce0ea4/bottom/true" style=3D"display:table;height:1px!important;width:1px!i=
mportant;border:0!important;margin:0!important;padding:0!important" width=
=3D"1" height=3D"1" border=3D"0"></div></body></html>
--307aa522c1dbecd161906e9f1b27c365f0badacd5d6d710f51031bf5fedb--

Note the 1x1 pixel from shoutout.wix.com.

@joshwalsh
Copy link

Unfortunately I don’t know the code to identify, but Sharpspring is another one that should be on this list. Publicly traded marketing automation with lots of email tracking insights.

@dhh
Copy link
Author

dhh commented Apr 26, 2020

@mesqueeb This isn’t usable directly. Need programmers to package and present.

@axlekb
Copy link

axlekb commented May 26, 2020

I just found a pixel pointed to an AWS EC2 address:
http://ec2-52-26-194-35.us-west-2.compute.amazonaws.com

Tried out the raw domain and found this:

https://www.gmass.co/

@Alan-Liang
Copy link

What is the license of this piece of code?

@dhh
Copy link
Author

dhh commented Jul 1, 2020

MIT ✌️

@apparition47
Copy link

apparition47 commented Jul 5, 2020

Implemented this in a crude macOS Apple Mail plugin with the list above as filtering rules

@apparition47
Copy link

Email with Amazon SES

<img alt=3D"" src=3D"http://n39xxxxxx.r.us-east-1.awstrack.me/I0/01000173285=
3a208-668c5f3d-fbbf-400a-a92a-1898b8401f16-000000/NUpE_XxACk1IuWWzcpE7VCnpd=
WE=3D169" style=3D"display: none; width: 1px; height: 1px;">
</body>

regex pattern:

r.(us-east-2|us-east-1|us-west-2|ap-south-1|ap-northeast-2|ap-southeast-1|ap-southeast-2|ap-northeast-1|ca-central-1|eu-central-1|eu-west-1|eu-west-2|sa-east-1|us-gov-west-1).awstrack.me

@ayfine
Copy link

ayfine commented Jan 3, 2021

Oracle's Bluekai.

Unfamiliar with ruby, regex might be off.

Quoted printable encoded:

<=21--Start BK pixel--><IMG SRC=3D=22https://tags=2Ebluekai=2Ecom/site/7264=
6?e_id_s72646=3D85065bdba9a4146a767a852dd9940afcae53cedc33dab75f76298d5729a=
9fcee&e_id_m72646=3Dea6a23dca92dccf77249dcffad50c0b5=22 HEIGHT=3D=221=22 WI=
DTH=3D=221=22><br/><br/><=21--End BK pixel-->

UTF-8

<!--Start BK pixel--><IMG
SRC="https://tags.bluekai.com/site/72646?e_id_s72646=
85065bdba9a4146a767a852dd9940afcae53cedc33dab75f76298d5729a9fcee&e
_id_m72646=ea6a23dca92dccf77249dcffad50c0b5"
HEIGHT="1" WIDTH="1"><br/><br/><!--End BK pixel-->

Regex

tags\.bluekai.com/site

@leggett
Copy link

leggett commented Jan 29, 2021

I've been working at this for a couple months for Simplify Gmail and I now block over 170 different trackers.
Here is my list: https://gist.github.com/leggett/8c2ab9735037cb66c218fdbe898ddf68

EDIT: Moved here https://github.com/leggett/simplify-trackers

@abrambailey
Copy link

abrambailey commented Feb 9, 2021

Just a note... When I send out a newsletter via Mailchimp, the app notifies me the next day about the percent of recipients that didn't open the email and prompts me to press a single button to resend the newsletter to "non openers" ... One downside I see to this approach: Hey users will get a lot more of those "non opener" targeted emails.

@patrikvarga
Copy link

Here is the one for http://stayz.com.au and/or http://homeaway.com and/or http://vrbo.com that they seem to use in all their confirmations, news, etc emails: a 1x1px img loaded from http://sp.trk.homeaway.com/q/*, that is, the server is http://sp.trk.homeaway.com.

The exact element is:

<img border="0" width="1" height="1" src="http://sp.trk.homeaway.com/q/some-tracking-code"/>

@apparition47
Copy link

Mailbutler:

<img src="https://bowtie.mailbutler.io/tracking/hit/3ba8ceb5-99ea-4b6b-9033-51f18a5448b7/b3f7f8cc-2871-4a40-8abd-d4a1d67d3928/t.gif" align="left" width="0" height="0" style="width:0;height:0;border:0;" title="" alt="" id="MailbutlerTrackingPixel" class="lp-rich-link">
bowtie.mailbutler.io/tracking/hit/(.*)/t.gif

@odysseus90210
Copy link

@dhh Is this list being actively maintained?

@leggett
Copy link

leggett commented Mar 22, 2021

I've moved Simplify's tracker list from gist to an actual repo here: https://github.com/leggett/simplify-trackers

@kelsey-admin-martin
Copy link

Has anyone seen this pixel at the end of a URL? +trackingPixel+

@leggett
Copy link

leggett commented Jul 27, 2023

I haven't.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment