Unica Campaign: Target Customers Based on Proximity to a Location


Share on LinkedIn

Whether you are preparing for a major store grand opening or a special program, at some point every database marketer has had to pull a list of households or individuals based on proximity to a known location.

As a former marketer at Macy’s Clothing Store, it was very typical of our department to pull lists, sometimes adhoc, for local promotions. In all cases we leveraged state, zip and county data in our system to select contacts based on their proximity to the event. When Macy’s was once divided into several districts it was easier (although not by much) for each corporate district to insert neighboring counties (in proximity to event location) in a Unica campaign and pull their own list. But if you are structured like most companies, there is typically a single national office pulling campaign lists. With that said, it’s difficult to pull lists based on a contact’s locality without having detailed information or intimate knowledge of the surrounding areas (neighboring counties, zips, states – when the event is on the border).

Well, have you ever tried leveraging longitudinal and latitudinal data to select contacts within a given radius of your event’s location?

As a marketer you can do this in Unica Campaign, independently of your hosting company or internal IT department and you can earn some serious brownie points with your manager!

It’s pretty simple. Let’s say you are a preparing an email or direct mail campaign for a local promotion. The promotion is only good at a given location (maybe at a store grand opening). The location is Charlotte, North Carolina (which is not too far from the border of South Carolina). Well, you wouldn’t want to pull contacts based on state because you’d miss out on contacts near the border of South and North Carolina while picking up someone in Raleigh, 2 hours away from the location! It also wouldn’t be feasible to look up neighboring counties and zip codes because every time you pull a similar campaign you’d have to do the same leg work.

Instead, start out by selecting contacts based on state (yes, i know, i already told you not to do that but bare with me). In the example above, you would pull in South and North Carolina records because the location is near both states. Once you have a smaller subset of your database, you can refine this group based on distance from event location by applying ‘Zip 50’ logic to this group. In a select box, using raw SQL (don’t be afraid – I’ll provide the SQL below) apply a trigonometric calculation to pick up only those records within a certain distance of the event. The guessing game is eradicated. You can finally choose contacts based on their exact proximity to an event and not based on some estimate. It is also a highly transferable solution. You can take the same logic and just pop it into another campaign.

Below is the basic trigonometric calculation.

select distinct t.master_individual_id (audience level)
from  t
inner join individual_table base with (nolock)
on t.individual_id = base.individual_id
inner join address_table s with (nolock)
on base.primary_address_id = s.address_id
where coalesce(s.longitude,’x’) <> ‘Unknown’ and coalesce(s.latitude,’x’) <> ‘Unknown’
case when s.zip_code = (event location zip code) then 0.0
when s.longitude = (event location longitude) and s.latitude = (event location latitude) then 0.0 else
acos(cos(radians(s.latitude))*cos(radians(s.longitude))*cos(radians(event location latitude))*cos(radians(event location latitude)) + cos(radians(s.latitude))*sin(radians(s.longitude))*cos(radians(b.event location latitude))*sin(radians(event location longitude)) + sin(radians(s.latitude))*sin(radians(event location latitude))) * 3963.1 end
>= 50 (mean within 50 miles, you can change it)
order by 1

Republished with author's permission from original post.

Candice Narvaez
Formerly a database marketing professional, Candice Narvaez serves as an Applications Specialist on the Quaero Operations Team.


  1. Candice,

    Great post. Terrific advice. Location based targeting isn't just media buzz, it is practical, produces more relevant communications, and ultimately better conversion.

    **Bonus tip. In Unica 8.2 we introduced a new feature that simplifies Location Based Targeting. We introduced a DISTANCE marco that removes the need to dust off your trig book.

    The maco function takes as input two pairs of lat/long coordinates and returns the distance between them. This macro is available in both Unica Campaign (batch outbound marketing) and Unica Interact (real-time inbound decisioning).

    Best of luck continuing to “go local” with your marketing!

  2. Hi Jay,

    Thanks for your feedback! Shortly after posting this blog I learned about the distance macro, cool stuff! I also joined IBM 🙂

    Go Big Blue!


Please use comments to add value to the discussion. Maximum one link to an educational blog post or article. We will NOT PUBLISH brief comments like "good post," comments that mainly promote links, or comments with links to companies, products, or services.

Please enter your comment!
Please enter your name here