We have trade agreements with clients to send their eblasts to our audiences. Often the client will provide a list of email addresses they don't want to receive that particular program, which can have upwards of 1 million names. How do we easily suppress these names against our programs without adding them to the database?
With other vendors, they had an area specifically for suppression lists, where the names would not be added to the database but run against the mailing when it was sent.
I'm hoping there's a super simple solution that will work in Marketo!
You'll have no choice but to add them to your DB - if only temporarily. But be very careful with this - especially for a million names. Not only can this negatively affect your future deliverability/sender score, but also other customers who share the same Marketo pod as you (assuming you're not using a dedicated IP address).
But how do we easily remove the names so they're only added for that single program? This is the challenge we're running into, we don't want to negatively affect our deliverability and don't want to make it a manual process to delete suppression lists. Additionally, we're governing our instance so only a select few have the ability to upload, which further complicates set up.
For smaller lists, just use an "email address is not..." filter.
You could try hooking up your Marketo to Power BI or a similar platform or export your entire audience once a week (this can take all day but just let it run in the background) and use a tool like MS Access to vlookup on email and exclude those that are already in your system.
We do something similar with Talend and Optizmo. Unfortunately this situation requires a major suppression and extraction tool.
We only then upload leads that have passed the filters and are available for emailing.
The external list never exists in your database but is used to exclude leads.
P.S. By "upload" here I mean literally "copy a dumb file onto a file system" like saving a .TXT file into your Marketo assets. Not an "import" in any sense.
So far this answer seems the most doable to my team, but the programmer I'm working with was wondering if you could share an example of an endpoint you're using with a webhook in this manner? He's a bit in the dark as to where this would happen in the process -- for example, is it a flow step in a Smart Campaign?
The webhook itself is run by a trigger SC. You can call that campaign using Request Campaign (if there's no better way) or via some other more organic trigger (like someone being added to a Program or List).
Then act on the webhook results in one of 2 ways:
In the scenario you describe, won't the webhook be called once for each lead in the list to be checked against the remote suppression list?