I've been using geoPlugin for about a year with great result. We are redirecting our Canadian clients to our .ca domain.
We detect the country then cookie the users response, but only when they acknowledge the notification box. I don't think we're exceeding our requests.
<?php
if(isset($_COOKIE['geoClose']) && $_COOKIE['geoClose']=='true'){
} else { ?>
<!-- Start GeoPlugin -->
<script type="text/javascript">
$(document).ready(function() {
var country = geoplugin_countryCode();
if(country === 'CA'){
$('#notification').html('<div class="attention" style="display: none;">We\'ve detected that you\'re visiting us from Canada.</div>');
$('.attention').fadeIn('slow');
$('html, body').animate({ scrollTop: 0 }, 'slow');
}else if(country != 'US'){
$('#notification').html('<div class="attention" style="display: none;">We\'ve detected that you\'re visiting us from outside the US.</div>');
$('.attention').fadeIn('slow');
$('html, body').animate({ scrollTop: 0 }, 'slow');
}else{
//nothing stupid IE
}
});
$('.geoClose').live('click', function() {
console.log('geoplugin notify closed');
document.cookie = 'geoClose=true;'
});
</script>
<!-- End GeoPlugin -->
<?php
}
?>