Skip to content

Instantly share code, notes, and snippets.

@gabssnake
Forked from dhh/tracker_blocking.rb
Created April 24, 2020 23:10
Show Gist options
  • Save gabssnake/41887f285a4f145cbcc6706e3ee62163 to your computer and use it in GitHub Desktop.
Save gabssnake/41887f285a4f145cbcc6706e3ee62163 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,}/,
"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/,
"Outreach" => "app.outreach.io",
"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
]
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment