The Google AdSense conundrum

I have a little side project over at rangelistings.com. The site contains a page for each state with a map of where shooting ranges in that state are.

This is the first time I’ve posted advertisements on a site I’ve created, and I’ve run into a compelling question on how to make the ads more effective.

The ads that show up are on-topic, generally. However, an effective ad speaks to the audience, not to a topic, right?

I intend the audience for the rangelistings.com site to be shooters who are looking for places to shoot. Perhaps they, as in my recent case, are moving and want to to find shooting facilities in their new area.

Here is a sampling of the first lines of ads that show up for one of the state pages currently:

  • Personal Security Online
  • Monitored Security Alarms
  • Personal Security Device
  • How to Defend Yourself
  • Self Defense Pepper Spray

Topically speaking, those are all geared towards self-defense in some fashion. For an audience of shooters, one of them even seems silly (would I rather use pepper spray or a .45 for self-defense?).

So, what ads would be better suited to result in people visiting the site actually clicking on them? Here are a few ideas that I think would work better:

  • Ammo: big selection, low price
  • Gunsmithing classes
  • IPSC videos
  • Gun parts and shooting supplies
  • 1500+ gun auctions right now

So, ammo, gun parts, and gun auctions have little to do with the actual words listed on the pages of the site, but from the context of the people visiting the site, they actually make sense.

The site just launched, and Google hasn’t even fully indexed it yet, so I’ll not be hasty. However, I’d like to see the ad revenue at least pay for domain registration and hosting fees, and ads that actually appeal to the audience would sure push that goal forward.

The question is, how?

(And I’m not thrilled with the idea of subjugating the content of the website in order to twist the ads that show up. That’s pretty backwards.)

Any good ideas out there?

XML file of shooting ranges in Michigan

As another small step in this process of manipulating a data set to upload to Google Maps, I took the cleaned XHTML I had from a few days ago, and used TextWrangler to do some quick search and replaces on the source code in order to produce this XML file.
ranges-data.xml

Next, I think, I’ll load this XML file into PHP using the simplexml features which will make it easy to run the data through a PHP-based GeoCoding processor that I’m sure I can dig up. The goal is to transcode the addresses of the ranges into latitude/longitude points, which seem to be required pieces of data for the KML file I’m trying to piece together.

I may at the same time output the whole thing into KML format, since I’ll be in there with the data nodes anyway.

Sample KML structure for the shooting ranges data

And here is a sample of what the intended shooting ranges KML feed will look like.

And here is a sample of what the intended shooting ranges KML feed will look like.

A couple notes:

  • the Placemark node will repeat for every shooting range
  • I’ll have to find a way to process the address information and generate latitude/longitude points—there are bound to be problems when the GeoCoder will have trouble parsing an address, though I’ve gone through this before on a prior Web development project
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>Shooting ranges in Michigan</name>
<description><![CDATA[Places to shoot in Michigan: Public/DNR ranges, shooting clubs, and businesses with firing ranges available.]]></description>

<Placemark>
<name>Flushing Rifle &amp; Pistol Club</name>
<description><![CDATA[165 Industrial Dr., Flushing, MI 48433<br>http://www.flushingrifleandpistol.com/<br>]]></description>
<Point>
<coordinates>-83.866898,43.068909,0.000000</coordinates>
</Point>
</Placemark>

<!-- Repeat Placemark for each range -->

</Document>
</kml>

Clean XHTML of shooting ranges data

My goal is to upload a comprehensive list of shooting ranges to Google Maps (see prior posting). So, to accomplish this, here are the steps I’ve thought of.

My goal is to upload a comprehensive list of shooting ranges to Google Maps (see prior posting).

Why? I just think it would be cool to visualize places to shoot in Michigan.

Plus, once they are in there, I can see next steps, like creating a custom map of just the ranges that host matches for the Central Michigan Rifle and Pistol League shoots.

So, to accomplish this, here are the steps I’ve thought of.

  1. Clean the source code from the NRA page of ranges in Michigan into a valid codebase that can be more easily parsed
  2. Create a prototype of the form that data needs to take to be uploaded to a Google Map (looks like a KML file will do)
  3. Write an XSL document to use to transform the cleaned code (#1) to match the structure for the KML doc (#2)
  4. Run the XSL tranformation and then upload the resulting KML document to Google Maps

Just for the record, here’s the cleaned source code (#1): 2007.12.16-shooting-ranges.html