Why display advertisement based on visitor’s country
Online advertising is another way to promote company products. It’s very important to show the right advertisements to the right consumers to have an optimum response. A company selling their products in Japan showing their advertisement to visitors from United States is totally ineffective. On the other hand, localized advertisements catch visitor attention and improve sales.
How to display advertisement based on visitor’s country
In this example, we use a fully functional IP2Location™ .NET component available at https://www.ip2location.com/software/dot-net-component to query country by visitor’s IP address. Firstly, install the IP2Location™ .NET component by following the instructions on the component page. Then add a reference to this component from your Visual Studio web project. A copy of this component will be copied into /bin directory under the project. For unregistered components, there is a random 5-second delay when querying.
Sample Code (VB.NET)
Imports IP2Location
Private Sub Query(ByVal strIPAddress As String)
Dim oIPResult As New IP2Location.IPResult
Dim oIP2Location As New IP2Location.Component
Try
If strIPAddress <> "" Then
oIP2Location.IPDatabasePath = "C:\Program Files\IP2Location\Database\IP-COUNTRY.SAMPLE.BIN"
oIPResult = oIP2Location.IPQuery(strIPAddress)
Select Case oIPResult.Status
Case "OK"
If oIPResult.CountryShort = "JP" Then
' Visitor is from Japan
' Show advertisement from JP
Response.Write "<img src='Japan.jpg' border='0' width='100' height='200'>"
Else
' Visitor is not from Japan
' Show other advertisement
Response.Write "<img src='US.jpg' border='0' width='100' height='200'>"
End If
Case "EMPTY_IP_ADDRESS"
Response.Write "IP Address cannot be blank."
Case "INVALID_IP_ADDRESS"
Response.Write "Invalid IP Address."
Case "MISSING_FILE"
Response.Write "Invalid Database Path."
End Select
Else
Response.Write "IP Address cannot be blank."
End If
Catch ex As Exception
' do nothing
Finally
oIPResult = Nothing
oIP2Location = Nothing
End Try
End Sub
Sample Code (C#)
using IP2Location;
private void Query(string strIPAddress)
{
IPResult oIPResult = new IP2Location.IPResult();
IP2Location.Component oIP2Location = new IP2Location.Component();
try
{
if (strIPAddress != "")
{
oIP2Location.IPDatabasePath = @"C:\Program Files\IP2Location\Database\IP-COUNTRY.SAMPLE.BIN";
oIPResult = oIP2Location.IPQuery(strIPAddress);
switch(oIPResult.Status.ToString())
{
case "OK":
if (oIPResult.CountryShort == "JP") {
Response.Write("<img src='Japan.jpg' border='0' width='100' height='200'>");
}
else {
Response.Write("<img src='US.jpg' border='0' width='100' height='200'>");
}
break;
case "EMPTY_IP_ADDRESS":
Response.Write("IP Address cannot be blank.");
break;
case "INVALID_IP_ADDRESS":
Response.Write("Invalid IP Address.");
break;
case "MISSING_FILE":
Response.Write("Invalid Database Path.");
break;
}
}
else
{
Response.Write("IP Address cannot be blank.");
}
}
catch(Exception ex)
{
// do nothing
}
finally
{
oIPResult = null;
oIP2Location = null;
}
}