Geolocation information at open

Highlighted
Level 6

Geolocation information at open

Hi all

What is the easiest way in Marketo to determine the location of a user at time of open? For example, you could use a user's location at open to show them the weather forecast in that location.

I know some third party services can do this but would prefer to do it in house.

Thanks, Phil

Tags (1)
21 REPLIES 21
Highlighted
Level 10 - Community Moderator

Re: Geolocation information at open

At Email open, or at LP open?

Highlighted
Level 6

Re: Geolocation information at open

Email open. For example, I've seen Movable Inc and others demonstrate a weather comparison at email open - here's your current weather, and here's the weather somewhere warmer. It won't always be possible I'm sure, but I'd like to know how they did it.

Highlighted
Level 10 - Champion Alumni

Re: Geolocation information at open

You have to use reverse IP lookup. Inferred geo fields can do this for you using that feature. For weather, you are better off using a third party service that's already built.

Highlighted
Level 6

Re: Geolocation information at open

Interesting. Thanks Josh. I can see how that could work using Velocity scripting.

Highlighted
Level 8

Re: Geolocation information at open

I've seen emails from OKCupid* that do this - they'll say things like "It's raining, which means more people are browsing" or something like that. I don't know that they do it at time of email open since this would require a script, which many emails don't like.

If you have an app installed on their phone / device that's always allowed to run and has location services enabled, you can do this.  Otherwise, your best bet it to just assume that the person is in their hometown. Doing this in Marketo would be tricky since there's no separate object you could create to house location based events.  You'd need a separate service to monitor weather conditions and then submit ZIPs that are currently experiencing weather events and send off emails specific to those events.

Really, in Marketo it'd be simple: create an email for rain, snow, sun, lightning, tornado, tsunami, haboob, hurricane, etc. Whatever condition you want, then personalize it with the lead data. Have an external service that utilizes APIs to say "Send email RAIN to ZIP codes (00001, 00002, 00003, etc)"

Otherwise, what you're asking is for a subject line and email that knows location prior to send as you can't send script based dynamic code.

*I subscribe to a lot of email services for research purposes. Don't think I'm trying to cheat on my wife...she knows.

Highlighted
Level 6

Re: Geolocation information at open

Hi Robb

While I'm not sure how it's done, I'm fairly sure that Movable Inc said that they could do it based upon the location at time of open. This seems like it would be contingent on privacy laws, location services on, etc etc...but now I'm not sure.

I like your idea of using the API to send only to specific zip codes. Clever. Not sure if I would trust our data enough for that though! In the example I was thinking of, I wouldn't be so explicit in the subject line since you're right, you can't know this prior to send. It would have to be a dynamic image sucked through at time of open. We're doing a similar thing with a content recommendation vendor, which got me thinking about the same thing for weather.

Highlighted
Level 8

Re: Geolocation information at open

If you have access to the raw tracking logs then, perhaps, you might be able to read where the IP address is that's downloading the invisible GIF often used to track email opens. I don't know that Marketo exposes this data to the customer.

Let's run through this:

You send me an email. Inside the email is a link to an image with a unique name, such as asoydasoiduoq47e0qwui1r.png (pretend that's 32 characters). That image is defaulted to an image that's something like "Looking up your weather..."

I open your email

I download images

The service sees a unique GIF downloaded to track to my email address to an open

Reads the request header for IP address

ReverseIP to get location

Ping a weather service with ZIP of location

Read response from Weather API

Translate response to keywords, i.e. Rain

Select Rain.png

Copy rain.png to asoydasoiduoq47e0qwui1r.png

Trigger email to download the updated image

You're asking a lot to be done in a little time when only a small percentage of the population may be traveling when they open the email.

What I would do:

Look at {{lead.Postal Code}}

Verify that it's a real postal code IF {{lead.Postal Code}} IN LIST....  or do regular data cleanups to eliminate 11111

Translate this to a Metro Area field (you can purchase a ZIP list from the USPS that contains this information)

Outside of Marketo, create a webapp that looks for events and then calls on the Marketo API to trigger emails based on that event. Instead of the granular ZIP level, pass it at the Metro area for faster processing.

You have many less moving pieces this way. You can look to utilize Inferred IP address on the lead record (which I believe is only populated at lead creation) and compare it to the self provided info. You can also look to do data scrubbing to have your city/state and ZIP checked for accuracy.

I would build separate emails for all of the weather events. I know you can do it with script and segmentation but I feel better with separate assets.

Now, if this is something VITAL to your business, you should really look into either creating an App or partnering with an app that allows notification advertising. If you're in agriculture, for example, weather is ultimately a concern and there are farmers apps (You don't have to be lonely....) that would love more revenue from sponsored alerts.

When I used to work with Neolane, they promoted what they called SoLoMo - Social, Local, Mobile.  This is really what you're needing - the ability to tap into Geofences to trigger real time notifications.

Highlighted
Level 6

Re: Geolocation information at open

Hi Robb

Good points! This question, like many of mine, is as much about pushing the limits of what's possible as opposed to what is practical and business critical

Thinking about it, I think the metro area idea could work very nicely. I'm thinking something like this...webhook passed to a program such as Zapier (which has some built in weather apps if you pass it latitude / longitude)....which passes back the weather, which is parsed out. This could potentially be done lead by lead, and as you mentioned, only sent to those which meet a certain weather criteria. Remove the scripting and just send to people where it's raining / snowing / hailing!

We're in travel, so you can see the applications - basically a "place you'd rather be" a la Corona's advertising.

Highlighted
Level 10 - Community Moderator

Re: Geolocation information at open

Webhook to Zapier to weather API is going to have terrible performance at scale. Much as I adore webhooks, you don't want to (/can't) scan your entire db daily.

Running such a job offline against your db, where you'll be able to leverage cached results, is more reasonable.

But the original design of dynamically generating an image at open time is actually pretty easy. Given a weekend, I could put the code together. However, the remaining problem, as you guys have alluded to, is more a marketing problem than a martech one: I can make the image say "It's raining in 10009!" but the rest of the copy will not be weather-aware.