Ad Ops 101

Geotargeting Explained: How Ad Servers Understand Physical Locations

This is the second article in a four part series on Geotargeting. Click here to read part one

In today’s digital ad market, geotargeting depends on mapping a user’s IP address to a physical location, a task every ad server outsources to my knowledge.  This is because the process of assigning a geographic location to an IP is messy and complex to say the least.  Just because the ad server outsources the functionality however doesn’t give Ops an excuse to ignore this important and highly utilized feature.

How is an IP Address Associated with a Geographic Location?

By and large, IP addresses are arbitrary – meaning they could be anywhere, and there isn’t much rhyme or reason to their values from a geographic perspective.  It isn’t as though if the IP address starts with a 1 it is always located in the United States, for example.  Instead, companies like Digital Envoy use a multi-layered approach to assign geographic qualities to a user, some highly technical, and some which are just common sense, and some that are a combination of the two.

On the common sense side, a fair amount of geolocation companies can leverage Regional Internet Registries, or RIRs, to assign high level qualities, like country or continent.  The RIRs each own dedicated ranges of IP values and exist to allocate IP addresses within their regions, and cooperate among each other to ensure that the same IP isn’t being used in more than one place. So placing the IP address within a specific RIR’s range allows the service to identify location at a very high level.  Some geolocation services are rumored to work with large registration based sites as well, and have zip code information that a user might manually enter during a sign up process.

Pings, Traceroutes, Reverse DNS, and Other Technical Methods of Geolocation

From there though, the heavy lifting is usually done through a combination of three technical processes known as pings, traceroutes, and reverse DNS lookups.  Let’s run through a high level explanation of all three processes, and then explain how they work in concert to geographically locate a single IP address.

A ping is just a small piece of information sent from one computer to another, with a request to call the originating computer back.  Pings can also record the round trip time of the journey, and are used for a variety of administrative network processes.  Think of it like a submarine’s sonar technology, applied to the internet.

Tracerouting is basically a way to record the network routing process of the ping service, or the detail behind how the ping got from one machine to its destination.  Tracerouting records how a ping is routed, who it is routed through, and the time it takes at each step.  When information travels across the internet, be it a ping or just regular surfing, it moves through a series of very high speed fiber optic networks owned by various public and private entities.  Now, when the information gets physically close to a user, it passes down to an Internet Service Provider (ISP), which sells internet access to consumers.  The ISP eventually moves the packet of information to a nearby network router to the user, which connects directly to the user.  By using the traceroute utility, the geolocation service can know every system the information was passed through in order to get to its final destination.  The important piece of information the service gets from a traceroute is the IP address of that final network router, geographically nearest to the user.  You can ping or see the traceroute command in action on your own machine at Network Tools.

With the network router’s IP address in hand, the geolocation service can finally use a technique known as a reverse DNS lookup to identify who owns that network router, which it can use to lock in on the physical location of the user.  Reverse DNS is simply a service to identify the hostname of an IP address, that is, who owns an IP address.  For many home computers, the host ends up being the ISP.  For businesses, the host ends up being the company’s domain. DNSStuff provides a reverse DNS lookup service – just enter an IP address into their ‘IP Information’ tool to try it out. (more…)

How Geotargeting Ads Works

This is the first of a four part series on Geotargeting – see the links at the end of this article for parts two through four.  

Before the web, most advertising was targeted in a specific geographic area by default.  Virtually all newspapers, radio stations, billboards, and even television stations were local entities.  It’s true that there were some national platforms out there, but most media publishers served a local advertising market, and in fact, living in that market was often the only way to get that media.

On the web however, every publisher is a global publisher, with their content readily available and immediately accessible from any connection on earth.  For marketers, even very large marketers, this presents a problem, since they likely only want to reach people in a certain market, and may even want to track their campaigns by market.  Having spent decades and billions of dollars refining a market-based approach, the advertising industry is in no hurry to abandon their hard won knowledge around geo-based messaging.

To fulfill this need and others outside the advertising industry that rely on knowing the physical location of a virtual user, geolocation services were created to map a user’s IP address to their real life location, though usually nowhere near as specific as their real-life address.

From an Ad Ops point of view, geotargeting might be the most common targeting criteria required by an advertiser, so it’s critical to understand how it works, what the limits are, and where geotargeting is going in the future. (more…)

Ad Ops Tutorial: Trace an Ad with Firebug

Ad Operations Departments build their reputations on the quality of their QA.  More so than any other department at an interactive media organization, Ad Operations is held accountable for any and all problems with the ads, regardless of the source.  So it is particularly important then that all members of an Ad Operations team are skilled in their ability to identify the root cause of any issue so they can quickly address it.  That means knowing how to replicate a problem and trace that problem to a specific tag in the ad server.

Luckily, there are number of tools available, some free, some paid, that are immensely helpful. One of my favorites, however, is Firebug, a Firefox Add-on that is quite useful toward a number of ends from a web development perspective, but also works well as a debugging application that you can repurpose for tracing ads.

What Does Firebug Do?

Firebug records every call to and from your browser, and makes all that code simple to view in-line regardless of when pieces of content actually execute with respect to the browser, but how it actually renders on the page.  I find it particularly easy to use and teach others to use precisely because it displays information based on how the end user sees it rather than the order in which it actually happens from the browser’s perspective, which is how most other tools operate.

Hover and Inspect

Firebug has a few advantages over other tools.  First, Firebug has a brilliant ‘inspect element’ functionality built-in, which allows you to simply hover over any specific area of web page and see the exact html code that was used to generate it.  For example, hover over a problematic ad and you’ll see the publisher side ad call, the redirect to the marketer’s ad server, and the final creative on the CDN, in addition to any other parties involved.

This might seem like a messy view, but since the code is displayed in the path it loaded, it makes it easy to look at the chain of events from publisher to the final ad, and pick out and call each piece independently if you so desire.  Finally, from a data leakage perspective, looking at the ad calls in a chain format allows you to identify any 3rd parties that might be involved in the ad call, but perhaps invisible from the user perspective.

How to Trace an Ad

So how do you actually trace an ad call?  Let’s look at a site and walk through the process.  I’ll use my own personal blog, AdOpsInsider.com as the publisher for this example. If you have trouble reading the text in any image, you can simply click on any one to open a larger image.

After you download and install the program, you should see an icon in Firefox’s toolbar (circled in red below).

How to Trace An Ad With Firebug

Click the button and a window will pop up at the bottom of your screen.  At first, you’ll see just a few collapsed sections of HTML code, but you’ll see that you can click and expand any section you like.

How to Trace An Ad With Firebug

In fact, if you expand a few sections, you’ll start to see that when you hover over a piece in the code, that exact section of the page is automatically highlighted to show you what it produces on the page.

How to Trace An Ad With Firebug

That’s pretty useful if you’re a web developer and need to see what a piece of code you just published actually does on the page, but it can make it a bit difficult from a debugging perspective.  Fortunately, Firebug also allows you to reverse the process, whereby you can hover over a part of the page and it was automatically take you to the relevent section in the code.  Just click on the blue cursor icon in the upper left corner of the Firebug window (circled in red below) and hover over one of the ads on the page.

How to Trace An Ad With Firebug

This method always tends to yield an approximate location somewhere in the chain of the ad call.  To really dig in, you’ll have to switch to the code itself at this point.  Conveniently, however, the page element will remain highlighted so long as you hover over a relevant piece of the code.  In this case we can scroll up quite a bit until we find the div element I used to place a text widget on my WordPress platform where I manually added the Google AdSense code, which is how I put ads on my site at the time I took the screenshots.  We can expand the JavaScript inside that div to look at the exact ad code on the page, which allows me to identify the name of the tag, and more importantly, the ID of the tag.  This will vary for your site, but with a little research, you should be able to locate a unique identifier for the tag from your ad server in the call itself.

How to Trace An Ad With Firebug

To actually find the source on the marketer’s side however, we have to dig a bit deeper down the page code.  Now I don’t profess to be an expert on how Google uses Doubleclick to serve AdSense, but after looking around a few sites between various browsers, it appears as though the Object ID correlates to the ad’s unique ID in their ad server, which is how they might trace the call on their end.  Additionally, you can look at the next box and see the actual location of the raw swf file on the CDN.  Keep in mind that in most all scenarios, a publisher side Ops team only needs to locate the unique ID in their own ad server, which in turn allows them to locate the advertiser, order, flight or campaign, and the actual 3rd party tag.

How to Trace An Ad With Firebug

Firefox or Bust

Unfortunately, as great as Firebug is, for now, it only functions in Firefox.  There’s no support in Internet Explorer, Safari, Chrome, Opera, or other major browsers, which can be an issue, since many ad issues today are browser specific, and not only that, but isolated to Internet Explorer.  Still, as a first line of defense, Firebug is a no-cost option you can start using today.  If you’re looking for browser-agnostic tools, you can look to Chrome’s built in toolset, or consider trying Fiddler or Charles, which function a bit differently, but have the same ability to pull HTML code apart and organize it call by call.

At Risk Management – How Every Ad Ops Department Should Start Their Day

Digital media is notoriously difficult to manage – not only are there technical and administrative challenges with getting a campaign live, but as the inventory is so perishable, campaign delivery can be tricky.

Underdelivery Despite Capacity

It’s no secret most publishers on the internet have plenty of inventory on a site wide basis, but often struggle with meeting campaign goals as they add targeting restrictions, frequency caps, competitive separation requirements, or have to deliver to a specific geographic area.  Not only that, but in many cases publishers and advertisers have a need to actively track delivery trends to ensure campaigns deliver as expected, and meet their goal within the scheduled timeframe.  Ad servers generally fill this role when capacity isn’t a problem, but when there isn’t enough supply to satisfy the demand, it falls on Ad Operations to prioritize delivery, and optimize problem areas.

But when there are hundreds or thousands of campaigns running at a given time, all with different goals, targeting requirements, and flight dates, how can anyone make sense of the data?  Many publishers have an inadequate process, relying on billing of financial reports to surface problems, or pawn the delivery management onto the sales team, which rarely has the expertise to effectively address the problem.

A far better solution is to build a simple report, a dashboard really, and use it as front line tools to catch problems early, before they spiral on for days.  This report is typically known as an At Risk Report and in many cases can not only save revenue, but time, frustration, and significantly cut down on the finger pointing that Ad Ops groups often face.

Building an Effective At Risk Management Report

The At Risk Management Report is the most critical day-to-day report for most sophisticated publisher-facing delivery management groups.  The primary job of this report is to create a ‘delivery dashboard’ of sorts to catch all campaigns that are not delivering to their expected quota, allowing Ad Ops to flag issues early, and optimize as necessary.  Some ad servers, such as DFP, offer this type of report, pre-built, with many of the necessary pieces of data, but if yours does not, it is usually simple work to get create the report yourself. In either case, I recommend simply getting the raw data and moving it into Excel, where you can apply your own custom filters and calculations using Pivot Tables.

The first step in creating an At Risk report is to pull the right data.  At minimum you’ll need advertiser / order / flight or campaign / start date / end date / targeting requirements / priority / ad size / flight or campaign status, as well as delivery information to date and the flight or campaign goal. In addition to those pieces of information though, consider adding other fields like sales rep, trafficker, site, or paid rate (be it CPM, CPC, CPA, or something else) to help route issues to the right contacts later. (more…)

Working in Ad Operations: Must-Know Resources

As with any job, the first step in getting hired is getting educated on the state of the industry, how it works, who the key players are, and where you might get hired.  Thankfully, Ad Operations has an active and welcoming community, and is well covered by niche, but professional news outlets. This article explains how you can get involved and how to get and stay informed about what’s happening in Ad Ops and interactive media.

The Ad Operations Community: AdMonsters

While there are many trade organizations focused on interactive media, none is more focused on or relevant to the Ad Operations workforce than AdMonsters.

Many in the industry are most familiar with the organization’s event programming, which is highly recommended, as it tends to attract less people from the executive level and more from the operations, implementation level of organizations.  I find this approach grounds the conversations and makes for an action-oriented event, with concrete and relevant takeaways.  It also provides a rare opportunity to network and connect with folks who are solving problems on the ground at the organization, and get user-level feedback on new technologies, and potential partners your organization might be evaluating. Get the other resources!