Real time updates via AdBridge to Facebook, Google

Real time updates via AdBridge to Facebook, Google

The AdBridge ability to send a smart list / list over to Facebook Custom Audiences, LinkedIn, or Google Customer Match is great. But you still need to manually put these over to ensure it stays relevant. Wouldn't it be great if you could set it to keep the audience in sync hourly/daily? Or even in real time?

Then, you could automatically drop customers out of ad sets when they have purchased, for example.

19 Comments
Phillip_Wild
Level 10 - Community Advisor

Stephanie Sweetland​ sure! Are you at all familiar with Python? I used a combination of Python and the Google Ads framework you can find on their side. The hardest part with all of this stuff is authenticating.

You firstly need to get access to the Google Ads account where shared audiences are stored. Then create an API user for that account and submit to Google your intended uses to get access to production. From there, here's how I run it:

1. I have a folder in Marketo called "Automated Audiences". This has a bunch of static lists in there that correspond to the audiences I'd like to maintain in Google and Facebook. Nightly, smart campaign remove and re-populate the lists to ensure it's up to date.

2. When I run the Python script, it uses the Marketo API to fetch all of the lists under that Automated Audiences folder, and extract every email address. It then "hashes" then to ensure it's in the right format for Google.

3. Then the script looks into our Google Ads account via API and tries to find a list that matches the ID and name of the lists in Marketo. Eg. 19771 - Customers. If it finds an equivalent list in Google, it removes everyone from the list and then re-populates it with all the new hashed emails. If the list doesn't exist, it creates it in Google and populates it.

Make sense? I won't pretend this was easy for me, it took a fair bit of grinding and help from our Tech team. But I'm happy to help where I can

Stephanie_Sweet
Level 2

This is really helpful, thanks so much for taking time to share!

kh-lschutte
Community Manager
Status changed to: Under review
 
Sean_Richards
Level 5
@Phillip_Wild any chance you can release open source to Github? Or provide me access to the repo? 
 

 

Phillip_Wild
Level 10 - Community Advisor

Hi @Sean_Richards , I've uploaded to Github:https://github.com/philwild2/marketo-google-audiences/tree/master.

 

So....caveat that you will need to install Google Ads API client library to get it to work, and I did this so long ago I don't actually remember how I did it! Hopefully you can figure it out. Basically you need a local file with your Google API credentials that the script can access. Something like that.

 

Forgive me, I'm not really a developer, I wrote this with help from my more experienced colleagues!

Phillip_Wild
Level 10 - Community Advisor

I've completed some code for this - it syncs both Google and Facebook audiences with a given set of static lists in Marketo. Written in Python.

 

It's far from bulletproof (I'm a quasi-developer at best) but I'm happy to share some knowledge on this if you have some development resources in-house, or are good with Python and APIs. DM me if you're interested.

Mike_Hardwicke_
Level 1

Hey @Phillip_Wild

 

There is nothing on the other end of this git hub link. Would love to look at the code, any maybe offer some improvements if needed.

Phillip_Wild
Level 10 - Community Advisor

Hi @Mike_Hardwicke_ , DM me if you're interested. I brought the repo into our org, which means it's not public anymore.

 

However, based on the release notes here: https://docs.marketo.com/display/public/DOCS/Jan+%2721 this will be released Jan 15th. So I wouldn't bother recreating it yourself at this stage.

RaulEr
Level 4

Hey guys!

 

@Phillip_Wild I think it was never released, right? I created a smart list and wanted to share it with a FB Custom Audience list, but it says it will be static... and I'm not doing this for my entire life. Is your workaround the only method available?

 

Thanks,

Raul