I hear that the Yahoo! Publisher Network does not like its banners to be served up to international users (users outside of the United States). There are even reports of YPN publishers being banned from YPN for having too many international people click or view their ads. That being said, how do you hide your YPN ads from international users?
Disclaimer, I do not implement any of this geo-targeting techniques for YPN ads, so I can not verify that any of these solutions work.
A DigitalPoint thread named Block International Traffic has people discussing several solutions to accomplish the task of geo-targeting your YPN ads. In post # 7 you have a well documented plan to implement geo-targeting for your ads.
(1) Download geoIP.dat and geoip.inc and put the files where you would put your php banner script. (2) Then use this code for your YPN ads;
<? // This part gets the ip of the visitor and matches it to a country name/codeinclude("geoip.inc"); $gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$visitor_country_code=geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']); $visitor_country_name=geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
//This part shows banners/codes that YOU decide for each country
switch ($visitor_country_name) { case "United States": { ?>
<script language="JavaScript"> <!-- ctxt_ad_partner = "xxxxxxxxxx"; ctxt_ad_section = ""; ctxt_ad_bg = ""; ctxt_ad_width = 250; ctxt_ad_height = 250; ctxt_ad_bc = "FFFFFF"; ctxt_ad_cc = "FFFFFF"; ctxt_ad_lc = "FFFFFF"; ctxt_ad_tc = "111111"; ctxt_ad_uc = "111111"; // --> </script> <script language="JavaScript" src="http://ypn-js.overture.com/partner/js/ypn.js"> </script> <? } } ?>
That should be it. There are also more details on this page post # 25, specifically.
Forum discussion at DigitalPoint Forums.