{"_id":"57f99056adbff417007505de","user":"5668fa9755e4b32100935d41","parentDoc":null,"project":"5668fab608f90021008e882f","version":{"_id":"5668fab608f90021008e8832","__v":19,"project":"5668fab608f90021008e882f","createdAt":"2015-12-10T04:08:22.769Z","releaseDate":"2015-12-10T04:08:22.769Z","categories":["5668fab708f90021008e8833","569740f124490c3700170a64","569742b58560a60d00e2c25d","569742bd0b09a41900b2446c","569742cd69393517000c82b3","569742f459a6692d003fad8f","569743020b09a41900b2446d","5697430b69393517000c82b5","56a17776470ae00d00c30642","56a2c48a831e2a0d0069b1ad","56b535757bccae0d00e9a1cd","56e1ff6aa49fdc0e005746b5","57e1c88115bf6522002a5e4e","57fa65275ba65a17008b988f","57fbeea34002550e004c032e","58474584889b6c2d00fb86e9","58475dcc64157f0f002f1907","587e7b5158666c2700965d4e","58a349fc30852819007ba083"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.18.0","version":"1.18"},"__v":1,"category":{"_id":"5697430b69393517000c82b5","version":"5668fab608f90021008e8832","__v":3,"pages":["56975a3d59a6692d003fadae","56a2c3dff4f3410d008a84dc","56d88ca37a04df0b00ddf1c7"],"project":"5668fab608f90021008e882f","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-14T06:41:15.588Z","from_sync":false,"order":10,"slug":"faq-troubleshooting","title":"FAQ / Troubleshooting"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-10-09T00:33:26.751Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"On this page, we discuss the effect that ad blockers have on LiftIgniter content, as well as on your ability to monetize the content.\n\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"1. Ad blocker basics: EasyList and EasyPrivacy\"\n}\n[/block]\nThere are two main lists that ad blocking tools reference when deciding what domains to block.\n\n* [EasyList](https://easylist.to/easylist/easylist.txt) is a list of domains that are used by websites to insert advertisements or other content. This includes most ad networks. LiftIgniter's domains are not on this list, and should not be, as we do not serve ads.\n* [EasyPrivacy](https://easylist.to/easylist/easyprivacy.txt) is a list of domains used for third-party analytics or measurement, even if not involved in ad serving. LiftIgniter's domains (petametrics.com and subdomains) are listed here, as are those of major analytics services such as Google Analytics and Chartbeat.\n\nMost ad blockers (including AdBlock and AdBlock Plus) *default* to using EasyList as their block list, although privacy-conscious users can choose to use EasyPrivacy instead. \n\nHowever, uBlock is an ad-blocking tool that [uses EasyPrivacy by default](https://github.com/chrisaljoudi/uBlock/issues/465), so users using uBlock do not send data to LiftIgniter or receive LiftIgniter recommendations, unless they have switched to EasyList or otherwise unblocked LiftIgniter. Most of these users won't be visible to Google Analytics or third-party analytics tools, so the only way you'll know about them will be through direct logging of user activity you do on your website.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"2. Effect on your traffic\"\n}\n[/block]\nThe effect on your traffic will depend on your geographic location and user profile. In the United States, adblockers are used by [16 percent of users](http://marketingland.com/heres-a-briefer-about-the-top-ad-blockers-146686), and about 20% of users of adblockers use uBlock. Therefore, the fraction of traffic that is invisible to LiftIgniter (and cannot benefit from LiftIgniter recommendations) due to adblockers is about 3%. Note that the ratio could be higher or lower depending on the audience segment you are catering to.\n\nSince these users are invisible to Google Analytics as well, they probably won't show up in your other calculations. So you won't need to subtract 3% from your expected traffic numbers if you're using Google Analytics for baseline calculations.\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"3. Effect on incremental revenue calculations\"\n}\n[/block]\nAd blockers should not affect the calculation of *proportional* improvements you calculate based off of LiftIgniter. For instance, if LiftIgniter increases your pageviews by 10%, then it should increase your non-ad-blocker pageviews by 10% as well.\n\nWhen calculating actual revenue, you will need to discount the incremental pageviews added by LiftIgniter to account for non-monetizable pages. If, for instance, 15% of your users use ad blockers, and LiftIgniter adds 10 million pageviews to your site a month, you effectively get 8.5 million extra monetizable pageviews a month. This is the same as the discounting you need to do in general for your other (non-LiftIgniter-powered) pageviews as well. Note that if you have already incorporated ad blocking when calculating your blended CPM, then you do not need to make the adjustment again here.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"4. Using LiftIgniter despite ad blockers\"\n}\n[/block]\nThere are two ways you can use LiftIgniter effectively for users who use uBlock or a similar ad blocker that blocks all analytics tools.\n\n* Server side integration for activity and model endpoints\n* DNS routes: You register subdomains under your own domain that you point to LiftIgniter's domains. **Note: Additional steps are needed for HTTPS website**\n\nFor the DNS routes, you will need to register two subdomains under your domain, corresponding respectively to:\n\n* cdn.petametrics.com\n* query.petametrics.com\n\nFor instance, suppose your domain is called dummydomain.com. Then you would create two subdomains under it:\n\n* cdn.dummydomain.com corresponding to cdn.petametrics.com\n* query.dummydomain.com corresponding to query.petametrics.com\n\nThere are two ways you can set this up:\n\n* Backend rerouting: Have servers on your side that receive the requests, and then reroute them to our servers. For cdn.petametrics.com, you do not need to reroute on every request; you could instead cache the results on your own to serve them faster. For query.petametrics.com, you should reroute on every request.\n* Explicit CNAME redirection (not available if you wish to use HTTPS): Here, your DNS record has a CNAME redirection to our DNS record. This requires an extra step from us: we need to whitelist your domain in our CDN so that it can serve traffic. Due to configuration limitations we may not be able to whitelist all domains.\n\nFor HTTP sites, we recommend using backend rerouting for cdn.petametrics.com, and CNAME redirection for query.petametrics.com. For HTTPS sites, we recommend using backend rerouting for both cdn.petametrics.com and query.petametrics.com.\n\nYou will then update your Javascript snippet as follows. Note both the change from cdn.petametrics.com to cdn.dummydomain.com and the inclusion of new server domains in your custom configuration settings.\n\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<script type=\\\"text/javascript\\\">\\n// Ensures that our client code is updated.\\n(function(w,d,s,p,v,e,r) {w['$igniter_var']=v;w[v]=w[v]||function(){(w[v].q=w[v].q||[]).push(\\narguments)};w[v].l=1*new Date();e=d.createElement(s),r=d.getElementsByTagName(s)[0];e.async=1;\\ne.src=p+'?ts='+(+new Date()/3600000|0);\\nr.parentNode.insertBefore(e,r)})(window,document,'script','//cdn.dummydomain.com/{JAVASCRIPT_KEY}.js','$p');\\n// Don't forget to REPLACE JAVASCRIPT_KEY for cdn url.\\n\\nvar customConfig = {\\n  config : {\\n    sdk : {\\n      queryServer: \\\"//query.dummydomain.com\\\"\\n    },\\n    activity : {\\n      activityServer: \\\"//query.dummydomain.com\\\"\\n    },\\n    inventory : {\\n      inventoryServer: \\\"//query.dummydomain.com\\\"\\n    }\\n  }\\n}\\n$p(\\\"init\\\", {JAVASCRIPT_KEY}, customConfig); // REPLACE JAVASCRIPT_KEY\\n$p(\\\"send\\\", \\\"pageview\\\");\\n</script>\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\nKeep in mind that users can report the domains that you are using (cdn.dummydomain.com, query.dummydomain.com) and have them added to EasyPrivacy. The bigger the audience for your website, the more likely it is that somebody will report these domains in a short period of time. Typical reporting times can vary from a week to a few months.\n\nPlease be in touch with [Support](doc:support) to discuss more.","excerpt":"","slug":"ad-blockers","type":"basic","title":"Ad blockers"}
On this page, we discuss the effect that ad blockers have on LiftIgniter content, as well as on your ability to monetize the content. [block:api-header] { "type": "basic", "title": "1. Ad blocker basics: EasyList and EasyPrivacy" } [/block] There are two main lists that ad blocking tools reference when deciding what domains to block. * [EasyList](https://easylist.to/easylist/easylist.txt) is a list of domains that are used by websites to insert advertisements or other content. This includes most ad networks. LiftIgniter's domains are not on this list, and should not be, as we do not serve ads. * [EasyPrivacy](https://easylist.to/easylist/easyprivacy.txt) is a list of domains used for third-party analytics or measurement, even if not involved in ad serving. LiftIgniter's domains (petametrics.com and subdomains) are listed here, as are those of major analytics services such as Google Analytics and Chartbeat. Most ad blockers (including AdBlock and AdBlock Plus) *default* to using EasyList as their block list, although privacy-conscious users can choose to use EasyPrivacy instead. However, uBlock is an ad-blocking tool that [uses EasyPrivacy by default](https://github.com/chrisaljoudi/uBlock/issues/465), so users using uBlock do not send data to LiftIgniter or receive LiftIgniter recommendations, unless they have switched to EasyList or otherwise unblocked LiftIgniter. Most of these users won't be visible to Google Analytics or third-party analytics tools, so the only way you'll know about them will be through direct logging of user activity you do on your website. [block:api-header] { "type": "basic", "title": "2. Effect on your traffic" } [/block] The effect on your traffic will depend on your geographic location and user profile. In the United States, adblockers are used by [16 percent of users](http://marketingland.com/heres-a-briefer-about-the-top-ad-blockers-146686), and about 20% of users of adblockers use uBlock. Therefore, the fraction of traffic that is invisible to LiftIgniter (and cannot benefit from LiftIgniter recommendations) due to adblockers is about 3%. Note that the ratio could be higher or lower depending on the audience segment you are catering to. Since these users are invisible to Google Analytics as well, they probably won't show up in your other calculations. So you won't need to subtract 3% from your expected traffic numbers if you're using Google Analytics for baseline calculations. [block:api-header] { "type": "basic", "title": "3. Effect on incremental revenue calculations" } [/block] Ad blockers should not affect the calculation of *proportional* improvements you calculate based off of LiftIgniter. For instance, if LiftIgniter increases your pageviews by 10%, then it should increase your non-ad-blocker pageviews by 10% as well. When calculating actual revenue, you will need to discount the incremental pageviews added by LiftIgniter to account for non-monetizable pages. If, for instance, 15% of your users use ad blockers, and LiftIgniter adds 10 million pageviews to your site a month, you effectively get 8.5 million extra monetizable pageviews a month. This is the same as the discounting you need to do in general for your other (non-LiftIgniter-powered) pageviews as well. Note that if you have already incorporated ad blocking when calculating your blended CPM, then you do not need to make the adjustment again here. [block:api-header] { "type": "basic", "title": "4. Using LiftIgniter despite ad blockers" } [/block] There are two ways you can use LiftIgniter effectively for users who use uBlock or a similar ad blocker that blocks all analytics tools. * Server side integration for activity and model endpoints * DNS routes: You register subdomains under your own domain that you point to LiftIgniter's domains. **Note: Additional steps are needed for HTTPS website** For the DNS routes, you will need to register two subdomains under your domain, corresponding respectively to: * cdn.petametrics.com * query.petametrics.com For instance, suppose your domain is called dummydomain.com. Then you would create two subdomains under it: * cdn.dummydomain.com corresponding to cdn.petametrics.com * query.dummydomain.com corresponding to query.petametrics.com There are two ways you can set this up: * Backend rerouting: Have servers on your side that receive the requests, and then reroute them to our servers. For cdn.petametrics.com, you do not need to reroute on every request; you could instead cache the results on your own to serve them faster. For query.petametrics.com, you should reroute on every request. * Explicit CNAME redirection (not available if you wish to use HTTPS): Here, your DNS record has a CNAME redirection to our DNS record. This requires an extra step from us: we need to whitelist your domain in our CDN so that it can serve traffic. Due to configuration limitations we may not be able to whitelist all domains. For HTTP sites, we recommend using backend rerouting for cdn.petametrics.com, and CNAME redirection for query.petametrics.com. For HTTPS sites, we recommend using backend rerouting for both cdn.petametrics.com and query.petametrics.com. You will then update your Javascript snippet as follows. Note both the change from cdn.petametrics.com to cdn.dummydomain.com and the inclusion of new server domains in your custom configuration settings. [block:code] { "codes": [ { "code": "<script type=\"text/javascript\">\n// Ensures that our client code is updated.\n(function(w,d,s,p,v,e,r) {w['$igniter_var']=v;w[v]=w[v]||function(){(w[v].q=w[v].q||[]).push(\narguments)};w[v].l=1*new Date();e=d.createElement(s),r=d.getElementsByTagName(s)[0];e.async=1;\ne.src=p+'?ts='+(+new Date()/3600000|0);\nr.parentNode.insertBefore(e,r)})(window,document,'script','//cdn.dummydomain.com/{JAVASCRIPT_KEY}.js','$p');\n// Don't forget to REPLACE JAVASCRIPT_KEY for cdn url.\n\nvar customConfig = {\n config : {\n sdk : {\n queryServer: \"//query.dummydomain.com\"\n },\n activity : {\n activityServer: \"//query.dummydomain.com\"\n },\n inventory : {\n inventoryServer: \"//query.dummydomain.com\"\n }\n }\n}\n$p(\"init\", {JAVASCRIPT_KEY}, customConfig); // REPLACE JAVASCRIPT_KEY\n$p(\"send\", \"pageview\");\n</script>", "language": "javascript" } ] } [/block] Keep in mind that users can report the domains that you are using (cdn.dummydomain.com, query.dummydomain.com) and have them added to EasyPrivacy. The bigger the audience for your website, the more likely it is that somebody will report these domains in a short period of time. Typical reporting times can vary from a week to a few months. Please be in touch with [Support](doc:support) to discuss more.