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; } }