What The Hell is Going On With IP Mismatch?

Here is a simple question: what do you do when you buy a pop, or an interstitial, and the IP you see is not the one you bought? 

    • you do not care 
    • this is fraud, so you reject it all 
    • you are lost and have no idea of what is happening, so you close your eyes 

Well, the answer is not that simple: you may see a different IP, which is in fact exactly the IP you want!

How come? 
All starts with the IP you are supposed to bid on, that comes from this boring stuff called “XFF header” or from the other boring stuff called "click IP", and ends with the IP you finally get!

Here is the boring stuff (you can scroll down to easy part) :

The X-Forwarded-For (XFF) HTTP header field is a common method for identifying the source of IP address of a client, knowing that with load balancer, adware, anti fraud and all that, most of the pops go through different proxies before reaching the advertiser..

The field contains the IPs used: the first IP is the original client IP, followed by each successive proxy that was used, and the last is the IP address that connects to the last proxy.

Beware, XFF does not contain the last IP making the connection!. To get the last IP making the call, system must read the actual IP header (“connection IP”).

Theoretically, if the IP you get for your ad matches ANY of the IP in the XFF or in the connection IP, you are good to go. But all the IP verification systems do not do that, some take only the first IP in list, some other tha last one, etc etc.

As if the mess was not enough, many networks use trusted sources (such as Google proxy or Cloudflare proxy) so the IP list is reliable. But as it is possible to forge the history of IP, the XFF method is not used by everyone.
Bottom line: you often compare the real click IP with something you do not know where it comes from!

  • Text Hover

Here is the easier part:

  • If you are a direct advertiser, this mess of XFF does not affect you much. You should only know that Google real time stats will simply show you crazy geo repartitions, but past day data is ok. 

  • If you are an XML manager, this is a serious issue that affect your end of month bonus. Because XFF header is not a standard in the industry, plugging guys using XFF header with guys not using it create a HUGE discrepancy (30% at least).  

How to solve IP discrepancies (for XML managers of course)?

  • Remove any “IP mismatch filter”. You assume this is a mess, and it is better to remove a filter than using a dysfunctional filter. It’s pragmatic, and deadly efficient. 

  • Maintain an IP mismatch filter but: 
    • Setup a reliable fall back traffic source as probably a lot of “good traffic will be filtered anyway) 
    • Align your supply and demand: Partner using Xff header are plugged only on partners using XFF, and partners not using xff are plugged on partners not using XFF. it requests a little bit of work and complexity, but it works fine. As a reference, guys like Adkernel or 50onRed, by default, do not work with XFF, excepted if you ask for it. Yeesshh, by default, works with XFF.
    • Alternatively, make sure your tech team compares the advertisement IP with any IP found in the string (all IP in XFF header and also connection IP). And you should be good to go. 

Guys, you know what, we’ve been scratching our head sometime around that, if you work with us, and have a doubt, write that will assist making your feed revenue skyrocketing.