<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Oxford BioChronometrics Newsletter]]></title><description><![CDATA[Intersecting insurtech, cybersecurity, telephone consumer protection act (TCPA) to optimize customer acquisition costs.  We specialize in detecting digital fraud, ad fraud, and lead generation fraud.]]></description><link>https://news.oxford-biochron.com</link><image><url>https://substackcdn.com/image/fetch/$s_!N5oG!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff82f1445-5cf1-4a1d-8ae4-3f05f2d4bec1_502x502.png</url><title>Oxford BioChronometrics Newsletter</title><link>https://news.oxford-biochron.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 05 May 2026 11:16:34 GMT</lastBuildDate><atom:link href="https://news.oxford-biochron.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Oxford BioChronometrics]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[oxbio@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[oxbio@substack.com]]></itunes:email><itunes:name><![CDATA[Jeff Martinez, CRPC®]]></itunes:name></itunes:owner><itunes:author><![CDATA[Jeff Martinez, CRPC®]]></itunes:author><googleplay:owner><![CDATA[oxbio@substack.com]]></googleplay:owner><googleplay:email><![CDATA[oxbio@substack.com]]></googleplay:email><googleplay:author><![CDATA[Jeff Martinez, CRPC®]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How to Make Money Using Fake Browsers?]]></title><description><![CDATA[How to write a bot in 100 lines of code that:]]></description><link>https://news.oxford-biochron.com/p/how-to-make-money-using-fake-browsers</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/how-to-make-money-using-fake-browsers</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Tue, 11 Feb 2025 16:27:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OJHL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OJHL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OJHL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!OJHL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!OJHL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!OJHL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OJHL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191264,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OJHL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!OJHL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!OJHL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!OJHL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa1c36eb-b246-4aba-a96e-9f5e8cc42a3e_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How to write a bot in 100 lines of code that:</p><ul><li><p>Fires a prebid</p></li><li><p>Receives the winning bid: the advertisement</p></li><li><p>Passes fraud detection</p></li></ul><p>The digital advertising ecosystem is complex and volatile. Many companies come and go. In order to enable your bids to go to multiple different ad servers of your choice at once you are able to configure and download your unique prebid JavaScript. This is achieved by selectively include adapters and modules and generate your JavaScript on the push of a button.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Besides the prebid, taking care of the bids and responses, you need to configure element ids, tag ids, ad slot sizes, etc. The prebid will fire one or more bids in parallel and waits for their responses, or hits the configured timeout. Last step is to select the won advertisement for an ad-slot and subsequently display the advertisement in the slot.</p><p>The question is: Can this be achieved without a browser using a simple Python script?</p><p>Spoiler alert: No fraud fraud detection has been seen on prebid while writing and testing the code. If it were, why would a bid made by both the cURL request and the Python code successfully receive the response with a full payload, ie. the advertisement?</p><h2>Prebid Introduction</h2><p>Before advertisements are loaded and displayed on a website a bidding process is started. This is called the prebid. Prebid is a standard JavaScript with optional one or more modules by prebid.org. From a technical point of view prebid is a JavaScript that is generated by prebid.org dynamically where you can check one or more bidder adapters, analytic adapters, and modules [1] to be included in the file. That generated JavaScript is included on the website. The last missing piece is a dedicated JavaScript with publisher specific IDs, ad slot sizes, element ids, bid prices, etc. That script orchestrates the bids, won auctions, and finally renders the ads in the slots.</p><p>Before looking at a real implementation of prebidding let&#8217;s explain where the prebid.js JavaScript comes from. This JavaScript is generated at prebid.org. Before hitting the &#8216;Get Prebid.js!&#8217; button you can select which modules, bidder adapters, analytics adapters you want to include in the JavaScript.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rB_H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rB_H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 424w, https://substackcdn.com/image/fetch/$s_!rB_H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 848w, https://substackcdn.com/image/fetch/$s_!rB_H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 1272w, https://substackcdn.com/image/fetch/$s_!rB_H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rB_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png" width="1280" height="603" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:603,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The prebid.js generation page. You can select the version of the core script and which adapters and/or modules you want to include before hitting the &#8217;Get Prebid.js!' button.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The prebid.js generation page. You can select the version of the core script and which adapters and/or modules you want to include before hitting the &#8217;Get Prebid.js!' button." title="The prebid.js generation page. You can select the version of the core script and which adapters and/or modules you want to include before hitting the &#8217;Get Prebid.js!' button." srcset="https://substackcdn.com/image/fetch/$s_!rB_H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 424w, https://substackcdn.com/image/fetch/$s_!rB_H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 848w, https://substackcdn.com/image/fetch/$s_!rB_H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 1272w, https://substackcdn.com/image/fetch/$s_!rB_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9f985bc-364f-4184-a66b-1a6e4683375f_1280x603.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1: The prebid.js generation page. You can select the version of the core script and which adapters and/or modules you want to include before hitting the &#8217;Get Prebid.js!' button.</figcaption></figure></div><p>Now, to the real deal, a real implementation of prebid. The examples are from a local news website here in Amsterdam where I live. I originally started with wsj.com but that site has a too complex setup for a simple explainer article like this. Hence, I reverted to a local news site: www.at5.nl which has a much simpler structure. Figure 2 below show the publisher specific JavaScript defining the ad units and invoking the prebid.js, and if bids are won rendering the ads.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DX_E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DX_E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 424w, https://substackcdn.com/image/fetch/$s_!DX_E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 848w, https://substackcdn.com/image/fetch/$s_!DX_E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 1272w, https://substackcdn.com/image/fetch/$s_!DX_E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DX_E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png" width="1456" height="740" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:740,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The publisher specific JavaScript defining ad slots, and not in this screenshot, but in the Javascript&#8203;: bid prices, time-outs, URLs to send bids to,etc.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The publisher specific JavaScript defining ad slots, and not in this screenshot, but in the Javascript&#8203;: bid prices, time-outs, URLs to send bids to,etc." title="The publisher specific JavaScript defining ad slots, and not in this screenshot, but in the Javascript&#8203;: bid prices, time-outs, URLs to send bids to,etc." srcset="https://substackcdn.com/image/fetch/$s_!DX_E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 424w, https://substackcdn.com/image/fetch/$s_!DX_E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 848w, https://substackcdn.com/image/fetch/$s_!DX_E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 1272w, https://substackcdn.com/image/fetch/$s_!DX_E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb2ec621-8e41-4663-955d-1183e5b77fe3_1848x939.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. The publisher specific JavaScript defining ad slots, and not in this screenshot, but in the Javascript: bid prices, time-outs, URLs to send bids to,etc.</figcaption></figure></div><p>Figure 2 shows the definitions of the adUnits. In total 7 ad units are defined, see the documentation how bidder parameters should be defined [2]. Each ad unit has, an id which corresponds with the id of an element in the web page. The adapters contain the names of the adapter and an integer code next to it. For example, Appnexus, 32592020. This unique number is also used when communicating with the ad server.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dLTt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dLTt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 424w, https://substackcdn.com/image/fetch/$s_!dLTt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 848w, https://substackcdn.com/image/fetch/$s_!dLTt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 1272w, https://substackcdn.com/image/fetch/$s_!dLTt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dLTt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png" width="980" height="650" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:650,&quot;width&quot;:980,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The prebid.js code with modules used by local news website at5.nl&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The prebid.js code with modules used by local news website at5.nl" title="The prebid.js code with modules used by local news website at5.nl" srcset="https://substackcdn.com/image/fetch/$s_!dLTt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 424w, https://substackcdn.com/image/fetch/$s_!dLTt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 848w, https://substackcdn.com/image/fetch/$s_!dLTt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 1272w, https://substackcdn.com/image/fetch/$s_!dLTt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50b3bb59-033c-471c-a1c6-e7bc97498dbc_980x650.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. The prebid.js code with modules used by at5 . nl</figcaption></figure></div><p>Figure 3 shows the prebid.js JavaScript and the modules that are compiled into this file. This might sound weird at a first glance, but it isn&#8217;t once you know how prebid.org works. If you go to https://docs.prebid.org/download.html you are able to generate a prebid.js with the modules, adapters, etc. you want.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fk9S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fk9S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 424w, https://substackcdn.com/image/fetch/$s_!Fk9S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 848w, https://substackcdn.com/image/fetch/$s_!Fk9S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 1272w, https://substackcdn.com/image/fetch/$s_!Fk9S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fk9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png" width="605" height="584" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:584,&quot;width&quot;:605,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Fk9S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 424w, https://substackcdn.com/image/fetch/$s_!Fk9S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 848w, https://substackcdn.com/image/fetch/$s_!Fk9S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 1272w, https://substackcdn.com/image/fetch/$s_!Fk9S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdcc3801-3fa6-49b7-88fc-2be30979a99c_605x584.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. The URL details and HTTP request headers of the prebid request.</figcaption></figure></div><p>Figure 4 shows the details of the prebid request sent to Adnexus. The HTTP POST request needs to comply with the prebid standard which can be found at [3].</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UZAd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UZAd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 424w, https://substackcdn.com/image/fetch/$s_!UZAd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 848w, https://substackcdn.com/image/fetch/$s_!UZAd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 1272w, https://substackcdn.com/image/fetch/$s_!UZAd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UZAd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png" width="1456" height="740" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:740,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!UZAd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 424w, https://substackcdn.com/image/fetch/$s_!UZAd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 848w, https://substackcdn.com/image/fetch/$s_!UZAd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 1272w, https://substackcdn.com/image/fetch/$s_!UZAd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb2db54b-3144-44c1-8e45-4ef7fb2de86e_1848x939.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 5. On the right the parsed JSON prebid.js payload can be seen. The highlighted line contains the id which can also be seen in Figure 6.</figcaption></figure></div><p>The request payload in Figure 5 contains four different bids on four tags. In this case only bid 2 will win, which can be seen in Figure 6. The returned answer will contain the id and uuid and some metadata.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ptBp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ptBp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 424w, https://substackcdn.com/image/fetch/$s_!ptBp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 848w, https://substackcdn.com/image/fetch/$s_!ptBp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 1272w, https://substackcdn.com/image/fetch/$s_!ptBp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ptBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png" width="1456" height="740" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:740,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ptBp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 424w, https://substackcdn.com/image/fetch/$s_!ptBp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 848w, https://substackcdn.com/image/fetch/$s_!ptBp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 1272w, https://substackcdn.com/image/fetch/$s_!ptBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ce33e11-fa13-4747-851c-f91a319ffcee_1848x939.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6. The response to the prebid. The same IDs as shown in Figure 5 can be seen. The other ids are empty and have no data, and nobid defined as true.</figcaption></figure></div><p>Figure 6 shows a lot of data pertaining to the bid and the ad. The one that interest me is the &#8220;rtb&#8221;. This one contains the banner and trackers URLs. These URLs are generated at the ad server and thus contain the creative with its associated size, and a tracker URL with the correct ids. The data is a full HTML page with HTML tags, styles, and embedded JavaScripts. The data is escaped as it is a JSON string. Hence, the \&#8221; and \n characters in the string.</p><p>The publisher specific JavaScript will receive, unescape this string and will inject it into the ad-slot iframe. Once injected the HTML is parsed, the JavaScript executed and that means the ad is rendered. If the ad includes any references to verification vendors, then these JavaScripts are loaded as well.</p><p>This was the introduction to show what the normal flow is how a bid is placed, how such a bid looks, the answer that is returned upon a bod and what is done with the returned data. Now the question is: Can this be faked? Can these prebid requests be generated out of thin Python air? And should be done with the received answers?</p><h2>Fake bid request using cURL</h2><p>The very first test is to see whether the ad server gives a response when the prebid is fired from the command line using cURL. The request URL was copied from the browser using Copy as cURL, and pasted in the terminal window. The response is shown below the purple horizontal line, starting with {&#8220;version&#8221;:&#8221;3.0.0&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kkam!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kkam!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 424w, https://substackcdn.com/image/fetch/$s_!kkam!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 848w, https://substackcdn.com/image/fetch/$s_!kkam!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 1272w, https://substackcdn.com/image/fetch/$s_!kkam!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kkam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png" width="1456" height="927" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:927,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!kkam!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 424w, https://substackcdn.com/image/fetch/$s_!kkam!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 848w, https://substackcdn.com/image/fetch/$s_!kkam!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 1272w, https://substackcdn.com/image/fetch/$s_!kkam!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c7dfbd4-1916-4057-b47e-cecab9dbaf01_1488x947.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 7. Executing the prebid from the command-line gives the same response as can be seen in Figure 6, except this time it isn&#8217;t prettified. The lines highlighted in yellow contain the link to the JavaScript of an ad verification company.</figcaption></figure></div><p>The lines highlighted in yellow are ad verification lines. The content of the advertisement contains a link to DoubleVerify. The querystring parameter rtsurl= contains a link with a large payload. That&#8217;s why the total request spans multiple lines.</p><h2>Fake bid request using Python script</h2><p>Coping and pasting links from your browser doesn&#8217;t scale well. It&#8217;s manual and browsers use too much resources anyway, ie. memory and CPU. That&#8217;s why fraudsters prefer their operations to be: request based [5]. Although Python is not the most efficient language in terms of memory, execution speed, etc. it surely is much faster than any browser automation and it has a much lower memory footprint.</p><p>Figure 8 and Figure 9 show the source code of a Python script using the requests package to fire HTTP requests. The lines 12 to 30 are the initialization of variables. These will be used to dynamically generate the prebid payload at line 64 &#8211; 69. Lines 37 &#8211; 43 will load a publisher specific JavaScript that contains the IDs needed to include in the prebid. The JavaScript is downloaded using a HTTP GET request. The lines 45 &#8211; 60 will perform a simple string extraction to retrieve the &#8216;tag ids&#8217;. The UUIDs are included in a list for simplicity at line 62.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W4sc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W4sc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 424w, https://substackcdn.com/image/fetch/$s_!W4sc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 848w, https://substackcdn.com/image/fetch/$s_!W4sc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 1272w, https://substackcdn.com/image/fetch/$s_!W4sc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W4sc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png" width="1456" height="650" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:650,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!W4sc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 424w, https://substackcdn.com/image/fetch/$s_!W4sc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 848w, https://substackcdn.com/image/fetch/$s_!W4sc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 1272w, https://substackcdn.com/image/fetch/$s_!W4sc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff49bf74-f4f2-4e4e-9ded-c81213d2cdf9_1984x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 8. Python source code. This part of the code prepares the data. It needs to extract real working IDs in order to make the prebid look genuine</figcaption></figure></div><p>The lines 64 &#8211; 70 contain the prebid payload. This payload contains tag ids, UUIDs, information about the sizes of the ads, the user agent, the screen size, consent string and the publisher&#8217;s URL, referrer, etc.</p><p>Based on this information an auction is run and if one of the slots wins the response will contain the information to show the ads. Lines 77 &#8211; 100 will dynamically generate the prebid request URL, the HTTP headers based on the publisher&#8217;s URL, and finally execute the HTTP POST request. The response is captured at line 100 in the httpresponse variable.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZJ-x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 424w, https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 848w, https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png" width="1456" height="659" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 424w, https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 848w, https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 1272w, https://substackcdn.com/image/fetch/$s_!ZJ-x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe585e14f-9da1-4b82-bd6b-933d71a4df18_1984x898.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 9. The Python source code. The prebid request is constructed at line 69. Line 97 posts the data. Line 106 will print the response incl the advertisement (if won)</figcaption></figure></div><p>The response consists of the HTTP response headers, status code, and the returned data. The latter is a big JSON string. When running the Python code it will print the returned data, see Figure 10:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Oga!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Oga!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 424w, https://substackcdn.com/image/fetch/$s_!4Oga!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 848w, https://substackcdn.com/image/fetch/$s_!4Oga!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 1272w, https://substackcdn.com/image/fetch/$s_!4Oga!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Oga!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png" width="1456" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!4Oga!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 424w, https://substackcdn.com/image/fetch/$s_!4Oga!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 848w, https://substackcdn.com/image/fetch/$s_!4Oga!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 1272w, https://substackcdn.com/image/fetch/$s_!4Oga!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61d9012f-5972-4465-ab14-e662e788e398_1949x1001.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 10. The output of the Python script. Bid won gives this output. Yellow shows IAS is the ad verification company. Green shows ad verification is being sampled at 1%. Purple, blue show IDs, cpm in request and response</figcaption></figure></div><p>At the top you can see Python3 is started with &#8216;20241114-prebid-spoofing.py&#8217; as script. The adnsx.com is a parameter given, my intention was to include more ad servers. But, all ad servers I tried work similarly except the ids, required fields and data in the prebid format is different. But, besides that they do answer in a similar way to the bids, and thus this single example is clear enough.</p><p>The purple lines highlight important data. At the top right the uuid 110610a135b988de followed by tag id 32592018 can be seen. These ids are provided in the request. The same ids can be seen in the HTTP response just below &#8216;WON BIDS?&#8217;. To confirm, this bid was won and the data printed in the terminal pertains to the won bid. You can also see the costs which has a CPM of $10.000295. The advertisement, a banner in this case, is returned in the response as a raw HTML page, this includes embedded css, links to external images, and links to external JavaScripts. One of the JavaScript is the conditionally loading and executing of the IAS ad verification JavaScript, which is highlighted in yellow. The green line shows that the IAS verification script is only loaded 1% of the times, thus ad verification is being sampled. All other conditions need to be true as well, language and some array check.</p><p>You might wonder, what happens with this HTML code returned from the ad server? Technically: Your browser looks for an iframe with a specific elementid in the main webpage, and subsequently the HTML code is injected in that iframe using document.write! This means once injected the browser will parse the HTML and execute the embedded JavaScript and downloads and executes any external JavaScript. If you&#8217;re a JavaScript developer, you know how dangerous this is: blindly injecting and executing code from ad servers. It is what it is.</p><p>This shows how easy it is, only ~100 lines of Python code, to fire fake prebids and if any inventory is available you&#8217;ll win the bid and &#8216;an advertisement&#8217; is returned. But, that&#8217;s not all. In order to be more realistic cookies need to be added. This shows the ad server you&#8217;re a &#8216;real user&#8217; browsing the publisher&#8217;s site on the Internet, going from page to page.</p><p>I suppose the following thought has crossed your mind: Do any protections exist? Digital advertising is an almost trillion dollar per annum industry, surely some safety controls and checks exist? The answer might be shocking, but it is: No! It&#8217;s the open Internet!</p><p>The first layer of checks which are a substitute for safety are viewability and completion pixels. Completion pixels are for example fired at specific times when you are watching a video advertisement. Viewability gives the advertiser the data that an advertisement is viewed when an advertisement is loaded in the browser and 50% of the advertisement&#8217;s pixels were visible in the viewport for a continuous 1 second [4]. You probably agree with me that these pixels can be fired from a Python script as well.</p><p>The second layer of checks is done by the ad verification companies. Once their JavaScript is loaded by the browser it is executed and data is collected and sent to their cloud infrastructure. But, only in 1% of the times; meaning: Not executing the JavaScript will not ring any alarm bells. And don&#8217;t you think this can be fooled as well using Python? That means: Downloading their JavaScript, extract some session specific stuff, generate the payload, and return the faked payload to their cloud? Rest assured: Only the professionals do it like this.</p><p>Why am I showing you this? Because most people are not coding nerds, understanding bots, digital marketing, etc. and thus have a quite some technical debt when it comes to hands-on fraud prevention. Although, conceptually most do understand what is going on, but they never have reverse engineered an obfuscated protected piece of JavaScript, or have written some Python code to load advertisements, know how different browser internals work, or have written their own puppeteer or playwright bots. They might have asked some tech savvy people, but bots, browser automation, emulating a browser in Python (or whatever language) is quite a specialistic job and this bot world changes very quickly.</p><h2>So what?</h2><p>First, let&#8217;s clear this up: This isn&#8217;t the publisher&#8217;s fault, nor a configuration or implementation mistake at their end. It is just how the digital advertising ecosystem works: <strong>completely open</strong>. No authentication exists on the open Internet. Without any checks and controls ad servers will accept <strong>any</strong> bid request. How do I know? Why would it return the advertisement if simple fraud checks were in place?</p><p>At this point you&#8217;re aware that before advertisements are loaded and viewed a bidding process happens. Because the ecosystem is huge with tons of players you have to generate your specific prebid.js by checking the adapters and modules you need. You&#8217;ll need your own publisher and/or page specific JavaScript with its own configuration that will invoke the prebid.js in order to fire (pre)bids, and process the response.</p><h3>It all can be faked</h3><p>As shown before in 'how to make money using fake apps' again it all can be faked. The code in Figure 8 and Figure 9 is only ~100 lines of Python. This Python code was written on a Wednesday afternoon in about 90 minutes. Now think about what a team of professionals can achieve? They'll be aiming for a few millions at least, and it actually might work if they do a proper job and know their stuff.</p><p>If you do care about where and on what your digital marketing budget is spent on you need to protect yourself. Fraud detection really helps. But, <strong>not every fraud detection is created equal</strong>. I understand that it is hard for a lot of you to determine whether a fraud detection solution actually works, the pros and cons per fraud detection solution. This is not the same as how data is reported and can be segmented, how to integrate and process fraud detection data in your infrastructure? It is just looking at: <strong>Does it detect all types of fraud wasting my budget</strong>? Those questions are typically not answered with a product features matrix or checklist. It's similar to: How professional fraudsters look at and talk about fraud detection per vendor, eg. whether the detection can be bypassed easily, and how?</p><p>You might have questions? Feel free to comment, connect, or DM</p><p></p><p>#adfraud #digitalmarketing #prebid #frauddetection #CMO</p><p><a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics</a></p><p>[1] <a href="https://docs.prebid.org/download.html">https://docs.prebid.org/download.html</a></p><p>[2] <a href="https://docs.prebid.org/dev-docs/bidder-adaptor.html#designing-your-bid-params">https://docs.prebid.org/dev-docs/bidder-adaptor.html#designing-your-bid-params</a></p><p>[3] <a href="https://docs.prebid.org/dev-docs/bidder-adaptor.html#http-simple-requests">https://docs.prebid.org/dev-docs/bidder-adaptor.html#http-simple-requests</a></p><p>[4] <a href="https://www.iab.com/wp-content/uploads/2015/06/MRC-Viewable-Ad-Impression-Measurement-Guideline.pdf">https://www.iab.com/wp-content/uploads/2015/06/MRC-Viewable-Ad-Impression-Measurement-Guideline.pdf</a></p><p>[5] <a href="https://www.linkedin.com/posts/kouwenhovensander_taylorswift-adfraud-adfraud-activity-7199384350369431552-t8EZ">https://www.linkedin.com/posts/kouwenhovensander_taylorswift-adfraud-adfraud-activity-7199384350369431552-t8EZ</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why Do Fraudsters Use Synthetic & Fake Browser Fingerprints?]]></title><description><![CDATA[Device and/or browser fingerprinting.]]></description><link>https://news.oxford-biochron.com/p/why-do-fraudsters-use-synthetic-and</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/why-do-fraudsters-use-synthetic-and</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 31 Jan 2025 16:04:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5ZFi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5ZFi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ZFi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!5ZFi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!5ZFi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZFi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ZFi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:290550,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5ZFi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!5ZFi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!5ZFi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!5ZFi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46f3c961-4eae-47b5-80b8-7beab3ae5fba_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Device and/or browser fingerprinting. Big Tech prohibits it [4][5][6][7][8]. The EU ePrivacy directive [11][12][13] requires unambiguous consent of the user. The reason: Cookies and fingerprinting are regarded as similar tracking mechanisms. Let&#8217;s take a look at fingerprinting. Why it exists. How it works and most importantly: Does fingerprinting in order to detect recurring fraud will meet your expectations?</p><h3>Why fingerprinting?</h3><p>Fingerprinting is to track users across multiple websites or applications. This information can be used to build a profile and based on that profile show specific advertisements fitting that profile.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>In fraud detection, fingerprints can be associated to fraudulent behavior. The moment a previously flagged or known bad fingerprint appears you can ignore or park generated leads, reviews, or digital sales.</p><p>That&#8217;s the theory, more on that later.</p><h3>What is fingerprinting?</h3><p>Fingerprinting is a form of tracking an individual across multiple websites or applications. These websites and applications have no relation to each other and share no data.  A 3rd party JavaScript would be able to associate activities to an individual.</p><p>The most easy and prevalent method of tracking is by using the IP address as an unique identifier. It is easy to collect (server side), highly unique, and relatively stable. The browser&#8217;s user agent would be another method, though the user agent will change roughly once a month when a new browser version is released.</p><p>Fingerprints are obtained by combining multiple settings and properties of resp. the device and browser. Fingerprints are broken in multiple parts. A static part based on hardware and a more volatile part based on the browser configuration. Device fingerprints are based on hardware, e.g. number of screens, screen resolution, color depth, graphics card, audio card, number of CPU cores, etc. Browser fingerprints are based on the attributes of the browser, e.g. language settings, plugins, content encoding, timezone, fonts, browser version aka user agent, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E8bd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E8bd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 424w, https://substackcdn.com/image/fetch/$s_!E8bd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 848w, https://substackcdn.com/image/fetch/$s_!E8bd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 1272w, https://substackcdn.com/image/fetch/$s_!E8bd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E8bd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png" width="1157" height="432" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:432,&quot;width&quot;:1157,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Example code how to read the screen details manually in Chrome when having multiple screens. &quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Example code how to read the screen details manually in Chrome when having multiple screens. " title="Example code how to read the screen details manually in Chrome when having multiple screens. " srcset="https://substackcdn.com/image/fetch/$s_!E8bd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 424w, https://substackcdn.com/image/fetch/$s_!E8bd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 848w, https://substackcdn.com/image/fetch/$s_!E8bd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 1272w, https://substackcdn.com/image/fetch/$s_!E8bd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd67c27f6-0e7d-4efd-bfb9-c09d6739395b_1157x432.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. Example JavaScript code how to determine multiple screen in Chrome, and read their information.</figcaption></figure></div><h3>How do regulators look at fingerprinting?</h3><p>Websites running code that collects device and browser fingerprints must comply with the GDPR in the EU and also comply with the CCPA in California, US. In the EU device fingerprinting falls under European data protection laws and therefore requires consent similar to cookies. To track website visitors using device fingerprints you need unambiguous consent of the user. An exception can be found in article 29 [14]:</p><p><em>(29) The service provider may process traffic data relating to subscribers and users where necessary in individual cases in order to detect technical failure or errors in the transmission of communications. Traffic data necessary for billing purposes may also be processed by the provider in order to detect and stop fraud consisting of unpaid use of the electronic communications service.</em></p><p>GDPR protects consumers. Individuals. Not publishers nor advertisers. So, the question is: Does this exception permit browser and/or device fingerprinting to collect fingerprints on behalf of publishers and advertisers without unambiguous user consent? Can browser and device fingerprinting in such a case be seen as an exception under article 29? I&#8217;m not so sure. Anyone?</p><h3>How does big tech look at fingerprinting?</h3><p>Both Google and Apple prohibit fingerprinting. Apple prohibits fingerprinting in native iOS Apps [5][6] and has implemented anti-fingerprint mechanisms in Safari [7]. Google prohibits fingerprinting in combination with Google Analytics, see figure 2 [4] or GDN see figure 3 [8] unless the user has knowingly and expressly opted in. I couldn&#8217;t find the definition of &#8216;has knowingly and expressly opted in&#8217;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!59Dl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!59Dl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 424w, https://substackcdn.com/image/fetch/$s_!59Dl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 848w, https://substackcdn.com/image/fetch/$s_!59Dl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 1272w, https://substackcdn.com/image/fetch/$s_!59Dl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!59Dl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png" width="828" height="363" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:363,&quot;width&quot;:828,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Google's policy on device fingerprinting when using Google Analytics&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Google's policy on device fingerprinting when using Google Analytics" title="Google's policy on device fingerprinting when using Google Analytics" srcset="https://substackcdn.com/image/fetch/$s_!59Dl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 424w, https://substackcdn.com/image/fetch/$s_!59Dl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 848w, https://substackcdn.com/image/fetch/$s_!59Dl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 1272w, https://substackcdn.com/image/fetch/$s_!59Dl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26af0729-da69-4aa5-ab99-49868ab36b0a_828x363.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Google's policy on device fingerprinting when using Google Analytics.</figcaption></figure></div><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Mr0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Mr0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 424w, https://substackcdn.com/image/fetch/$s_!7Mr0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 848w, https://substackcdn.com/image/fetch/$s_!7Mr0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 1272w, https://substackcdn.com/image/fetch/$s_!7Mr0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Mr0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png" width="953" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:953,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Google's policy on collecting PII data (device and/or browser fingerprint) on 3rd party ad serving.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Google's policy on collecting PII data (device and/or browser fingerprint) on 3rd party ad serving." title="Google's policy on collecting PII data (device and/or browser fingerprint) on 3rd party ad serving." srcset="https://substackcdn.com/image/fetch/$s_!7Mr0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 424w, https://substackcdn.com/image/fetch/$s_!7Mr0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 848w, https://substackcdn.com/image/fetch/$s_!7Mr0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 1272w, https://substackcdn.com/image/fetch/$s_!7Mr0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0566b87f-0449-4575-bd0d-b2ec4a90c896_953x454.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. Google's policy on collecting PII data (device and/or browser fingerprint) on 3rd party ad serving.</figcaption></figure></div><h3>What do fraudsters think about fingerprinting?</h3><p>About one and a half year ago I wrote a deep dive into fingerprinting [9] and how JavaScript is used to flag outliers, lies, wrong answers, poorly implemented tricks, etc. The outcome of the fraud detection enables you to flag the visit and/or its fingerprint as malicious.</p><p>Fraudsters using browser automation to control a Chromium based browser will typically use special software to patch the browser. Once the browser is invoked and patched in order to prevent being detected by anti-bot vendors they&#8217;re good to go! Having a fully fledged undetected browser enables them to go through the entire journey: Load pages with an advertisement, click on the advertisement, load the landing page and fill out lead generation forms at scale. They&#8217;ll be using residential proxy servers to circumvent IP blocks, rate limiting, etc. the IP address to location will correspond with the contact address in the lead generation form.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xnnT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xnnT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 424w, https://substackcdn.com/image/fetch/$s_!xnnT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 848w, https://substackcdn.com/image/fetch/$s_!xnnT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 1272w, https://substackcdn.com/image/fetch/$s_!xnnT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xnnT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png" width="997" height="476" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:476,&quot;width&quot;:997,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The information as shown on Patchright's Github main page.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The information as shown on Patchright's Github main page." title="The information as shown on Patchright's Github main page." srcset="https://substackcdn.com/image/fetch/$s_!xnnT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 424w, https://substackcdn.com/image/fetch/$s_!xnnT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 848w, https://substackcdn.com/image/fetch/$s_!xnnT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 1272w, https://substackcdn.com/image/fetch/$s_!xnnT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40baa384-ab78-4ea0-8184-5ba8faed8209_997x476.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4: The information as shown on Patchright's Github main page.</figcaption></figure></div><p>Patchright, made publicly available on Nov 03 2024, is the perfect package to achieve these goals [10]. Figure 4 shows that it is available as Python package and NodeJS package. They claim that its stealth mode is able to bypass many anti-bot vendors as can be seen in figure 5. You might wonder: How on earth is it possible that an open-source package is able to bypass detection of all those vendors? The simple answer: Most bot detection vendors do more or less the same: They read the same properties, look for the same signatures and traces of JavaScript patching, look for CDP runtime enabled, etc. Although each vendor has implemented it differently: A browser is still a browser and there is only so much relevant information available in a browser that can be collected. Once patched within the browser, there&#8217;s not much that can be done about it.</p><p>In order to prevent a stealth browser to appear exactly the same over multiple requests it will load its settings, attributes and properties of the browser (and cookies, local storage, etc) prior to requesting a web page and executing JavaScripts. This prevents creating a single easy-to-flag fingerprint and that means fraudsters are able to scale.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5rN1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5rN1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 424w, https://substackcdn.com/image/fetch/$s_!5rN1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 848w, https://substackcdn.com/image/fetch/$s_!5rN1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 1272w, https://substackcdn.com/image/fetch/$s_!5rN1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5rN1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png" width="1098" height="606" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:606,&quot;width&quot;:1098,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Patchright's stealth mode is able to pass the tests of these anti-bot vendors.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Patchright's stealth mode is able to pass the tests of these anti-bot vendors." title="Patchright's stealth mode is able to pass the tests of these anti-bot vendors." srcset="https://substackcdn.com/image/fetch/$s_!5rN1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 424w, https://substackcdn.com/image/fetch/$s_!5rN1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 848w, https://substackcdn.com/image/fetch/$s_!5rN1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 1272w, https://substackcdn.com/image/fetch/$s_!5rN1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e2cbd7d-4af6-49aa-bda8-4f798bcc0f92_1098x606.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 5: Patchright's stealth mode is able to pass the tests of these anti-bot vendors.</figcaption></figure></div><p>Where do these settings, attributes and properties come from? They can be bought online (based on real people fingerprints collected at shady websites, pr*n sites, pirated content sites, etc.), or synthetically created by recombining fingerprint data from existing fingerprints.</p><p>So, in theory you can flag fraudulent fingerprints. But, be prepared to be disappointed because device and browser fingerprints are disposed after being used once. Just like OTPs (one time passwords) these visitors ues OTFs (one time fingerprints). You&#8217;ll never see them again. Except if the fingerprint was illegally obtained from someone using a real legitimate device, then you&#8217;re blocking this innocent individual.</p><h3>Human operated fraud</h3><p>Human operated fraud is more costly than browser automation, even in low wage countries. Though humans don&#8217;t scale like spinning up thousands of bots, from an anti-fraud detection view they need similar protection. They need to refresh their browser fingerprints, change their IP address, stuff the browser cookies and purge and reload local storage, and once they&#8217;ve taken a new &#8216;browser identity with history&#8217; they can do their work.</p><p>The details of human operated fraud works, its operation, why use humans at all, will be described in a future article.</p><h3>Now what? You&#8217;re saying that fingerprint doesn&#8217;t work?</h3><p>Collecting fingerprints without any guarantees that a fingerprint is genuine is like accepting passport scans without validating and checking the physical passport. Without the look and feel of the paper, looking at the watermark, using UV light, checking the picture, etc. how do you know it is real?</p><p>The rule of thumb is that 99% of the online users will cause less than 1% of the fraud problems, but the remaining 1% will cause more than 99% of the fraud problems. Fingerprinting will not help to improve these ratios. On the contrary, browser automation using synthetic fingerprints or stolen fingerprints from real users are the problem. Human operated fraudsters will use special anti-detect browsers again loading synthetic or stolen fingerprints. They are the problem, flagging these will not stop fraudsters; Only amateurs.</p><p>Why would you use fingerprints to catch recurring fraud? If you can detect it the first time, you surely can detect it independently the next time? In the EU having JavaScript code on your website that collects and conveys the device and/or browser fingerprints means the website including the code needs to be compliant with the GDPR, ie. the user needs to provide consent to be fingerprinted [11][12][13][14]. So, why do vendors use device and browser fingerprinting? Because everybody else is doing it, see Patchright above.</p><p><strong>Update:</strong> Does Google use fingerprinting? And if not, what do they use? AFAIK, They don&#8217;t use device fingerprinting to target audiences. They use the <strong>Protected Audience API</strong> available in Chrome, which uses &#8220;on-device ad auctions to serve remarketing and custom audiences, without cross-site third-party tracking.&#8221; [15].</p><p>To conclude and to confirm. Does Oxford BioChronometrics:</p><ul><li><p>use tracking cookies, or cookies at all? No</p></li><li><p>use device and/or browser fingerprints? No</p></li><li><p>collect data? Yes, how else can we detect fraud?</p></li><li><p>combine the collected data in order to single out, infer, track or identify users over time? No</p></li></ul><p>Questions? Corrections? Suggestions? Feel free to connect, comment or DM</p><p>#frauddetection #browserautomation #fingerprint #CMO #gdpr #digitalmarketing #adfraud</p><p>[1] <a href="https://blog.google/products/ads-commerce/2021-01-privacy-sandbox/">https://blog.google/products/ads-commerce/2021-01-privacy-sandbox/</a></p><p>[2] <a href="https://digiday.com/media/googles-opaque-practices-to-restrict-fingerprinting-create-confusion-among-its-ad-tech-partners/">https://digiday.com/media/googles-opaque-practices-to-restrict-fingerprinting-create-confusion-among-its-ad-tech-partners/</a></p><p>[3] <a href="https://abrahamjuliot.github.io/creepjs/">https://abrahamjuliot.github.io/creepjs/</a></p><p>[4] <a href="https://support.google.com/analytics/answer/9682282?hl=en">https://support.google.com/analytics/answer/9682282?hl=en</a></p><p>[5] <a href="https://developer.apple.com/news/?id=z6fu1dcu">https://developer.apple.com/news/?id=z6fu1dcu</a></p><p>[6] <a href="https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api">https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api</a></p><p>[7] <a href="https://www.apple.com/newsroom/2023/06/apple-announces-powerful-new-privacy-and-security-features/">https://www.apple.com/newsroom/2023/06/apple-announces-powerful-new-privacy-and-security-features/</a></p><p>[8] <a href="https://support.google.com/adspolicy/answer/94230?hl=en#zippy=%2Cpersonally-identifiable-information">https://support.google.com/adspolicy/answer/94230?hl=en#zippy=%2Cpersonally-identifiable-information</a></p><p>[9] <a href="https://www.linkedin.com/posts/kouwenhovensander_frauddetection-fingerprinting-activity-7049009901523656705-xrkX">https://www.linkedin.com/posts/kouwenhovensander_frauddetection-fingerprinting-activity-7049009901523656705-xrkX</a></p><p>[10] <a href="https://github.com/Kaliiiiiiiiii-Vinyzu/patchright">https://github.com/Kaliiiiiiiiii-Vinyzu/patchright</a></p><p>[11] <a href="https://www.edpb.europa.eu/system/files/2023-11/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_en.pdf">https://www.edpb.europa.eu/system/files/2023-11/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_en.pdf</a></p><p>[12] <a href="https://iabeurope.eu/wp-content/uploads/20161201_IAB-Europe-Position-on-ePrivacy-Directive-Review.pdf">https://iabeurope.eu/wp-content/uploads/20161201_IAB-Europe-Position-on-ePrivacy-Directive-Review.pdf</a></p><p>[13] <a href="https://www.law.kuleuven.be/citip/blog/no-escape-from-the-eu-privacy-rules-for-the-ones-collecting-device-fingerprinting/">https://www.law.kuleuven.be/citip/blog/no-escape-from-the-eu-privacy-rules-for-the-ones-collecting-device-fingerprinting/</a></p><p>[14] <a href="https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=celex%3A32002L0058">https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=celex%3A32002L0058</a></p><p>[15] <a href="https://developers.google.com/privacy-sandbox/private-advertising/protected-audience">https://developers.google.com/privacy-sandbox/private-advertising/protected-audience</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Zero Trust Security in Digital Advertising ]]></title><description><![CDATA[Q: What happens if you leave a loophole in online fraud detection?]]></description><link>https://news.oxford-biochron.com/p/zero-trust-security-in-digital-advertising</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/zero-trust-security-in-digital-advertising</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Wed, 18 Dec 2024 16:50:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rCQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rCQV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rCQV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!rCQV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!rCQV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!rCQV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rCQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65480,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rCQV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!rCQV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!rCQV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!rCQV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e35d61c-396e-4c1a-b321-cc25c5474876_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Q:</strong> What happens if you leave a loophole in online fraud detection?</p><p><strong>A:</strong> It will surely be exploited!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>In 2024 IT security has to be based on the Zero Trust security model [1]. This means: No one is trusted by default. Verification is required in order to be trusted.</p><p>This security model works for years when dealing with untrusted files, emails, network connections. Not just in IT, but also in real life. That&#8217;s why:</p><ul><li><p>Email attachments are all scanned before you&#8217;re allowed to open them, 100% is scanned</p></li><li><p>Your virus scanner scans every file before you&#8217;re allowed to open the file, 100% is scanned</p></li><li><p>The routing and header information (SPF, DKIM, DMARC) of all emails are checked in order to detect and flag spam, 100% is verified</p></li><li><p>Firewalls block any unsolicited inbound connection, 100%</p></li><li><p>At US airports all passengers are security checked by the TSA, 100%</p></li><li><p>etc.</p></li></ul><p>Does this zero trust security model fail? Yes, sometimes it fails. In most cases because of human error. Zero-day exploits which are not yet detected by the virus scanner are very rare and if you&#8217;re a target then you already know what to do. But, clicking on a malicious link in an email, opening a malicious attachment not being flagged are reason it fails, because the human verification failed.</p><p>Once clicked on such a attachment or malicious link you&#8217;re screwed. This can be: Cyber extortion because of a data breach, a ransomware attack, or an APT will be installed [2]. This is all well known and many companies have implemented a ton of security measures in order to mitigate these threats. But, this is to protect their own infrastructure and the data within their corporate networks. Besides state sponsored actors the majority of bad actors are not really interested in the stolen data. They are interested in the monetary value of the data through extortion and/or blocking access to your private or company&#8217;s computer(s) and its files until you pay a hefty sum of money.</p><h2>Ad fraud totals US market</h2><p>In 2024 the global digital ad spending will reach ~US $667 billion. At a nine percent growth this means before 2030 the total digital ad spending will cross the US $1 trillion mark. This means a single percent of ad fraud represents US $10 billion. Looking at the US market, which is about 1/3rd of the global market, this means a single percent represents ~US $3.3 billion. If the total fraud is 20% the monetary damage of this fraud in the US will be 20% * ~US $3.3B = ~US $66 billion.</p><p>That&#8217;s a lot of money! And this implies a lot of responsibility for the vendors fighting this type of fraud.</p><p><strong>Q:</strong> How many sucessful ransomware installs and payments are required to reach US $66 Billion?</p><p><strong>A:</strong> At avg. $300 per device that&#8217;s 220 million devices and payments!</p><p>So, potential ad-fraud profits are way bigger than ransomware and it is less distributed. The following question arises: Does this mean that money spent by brands and/or advertisers is protected better?</p><h2>Zero-trust in ad-tech?</h2><p>One of the protections is ads.txt, where ads is an acronym for Authorized Digital Sellers [3][4][5]. If you want to know how such a file looks: go to the location bar in your browser, type in the domain name, a slash, and ads.txt. For example: <a href="https://www.wsj.com/ads.txt">https://www.wsj.com/ads.txt</a> or <a href="https://www.wsj.com/app-ads.txt">https://www.wsj.com/app-ads.txt</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B1Td!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B1Td!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 424w, https://substackcdn.com/image/fetch/$s_!B1Td!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 848w, https://substackcdn.com/image/fetch/$s_!B1Td!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 1272w, https://substackcdn.com/image/fetch/$s_!B1Td!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B1Td!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png" width="1194" height="731" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:731,&quot;width&quot;:1194,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The ads.txt file at https://wsj.com which can be viewed using a browser.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The ads.txt file at https://wsj.com which can be viewed using a browser." title="The ads.txt file at https://wsj.com which can be viewed using a browser." srcset="https://substackcdn.com/image/fetch/$s_!B1Td!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 424w, https://substackcdn.com/image/fetch/$s_!B1Td!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 848w, https://substackcdn.com/image/fetch/$s_!B1Td!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 1272w, https://substackcdn.com/image/fetch/$s_!B1Td!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60fad14a-0e16-4dbd-8a4b-728a8d058795_1194x731.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1: The ads.txt file at https://wsj.com which can be viewed using a browser.</figcaption></figure></div><p>Who enforces these files? The DSPs (Google DV360, The Trade Desk, Centro, etc) will load these text files from a publisher&#8217;s domain and only serve ads from authorized monetization partners on these domains. In theory this should protect advertisers from MFA sites and other shady websites, but look at the current situation and how did this work out? Even if you have implemented whitelists of allowed domains fraudsters still find a way around.</p><p>But, that&#8217;s the supply side. What about the demand side? The demand side are the millions of browsers, apps, and connected TVs downloading a webpage with ad slots requesting ads, or watching a video requesting an in-stream ad. To understand what happens beneath the hood let&#8217;s first look at the lifecycle of a typical advertisement in programmatic. Its lifecycle has two logical stages: 1) pre-bid and 2) post-bid.</p><h3>Pre-bid</h3><p>The pre-bid stage requests an advertisement. This means the app, connected TV, browser send a requests to the ad-tech infrastructure which will start an auction to determine whether an ad is available in your geo, within your min/ max bid price, device, targeting (your cookies), etc. If the bid is won, an advertisement is returned and the post-bid stage starts.</p><h3>Post-bid</h3><p>The post-bid stage will load the advertisement in the ad-slot. If applicable it will start measuring viewability, detect ad-fraud, and fire completion pixels.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!glrx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!glrx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 424w, https://substackcdn.com/image/fetch/$s_!glrx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 848w, https://substackcdn.com/image/fetch/$s_!glrx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 1272w, https://substackcdn.com/image/fetch/$s_!glrx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!glrx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png" width="1118" height="444" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:444,&quot;width&quot;:1118,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Life cycle of a digital advertisement in programmatic as seen from the browser&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Life cycle of a digital advertisement in programmatic as seen from the browser" title="Life cycle of a digital advertisement in programmatic as seen from the browser" srcset="https://substackcdn.com/image/fetch/$s_!glrx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 424w, https://substackcdn.com/image/fetch/$s_!glrx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 848w, https://substackcdn.com/image/fetch/$s_!glrx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 1272w, https://substackcdn.com/image/fetch/$s_!glrx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9a99a7-d6af-4cac-8e54-34be045640b4_1118x444.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Life cycle of a digital advertisement in programmatic as seen from the browser</figcaption></figure></div><p>Figure 2 shows the (simplified) lifecycle of an advertisement in programmatic as seen from the browser [7]. Each stage is a contact moment between the browser and the ad tech infrastructure. In a zero-trust environment each stage needs to revalidate whether the browser is really the browser it claims to be. And, if not: Failure, bot, or something else you don&#8217;t want to pay for!</p><h3>How is this implemented in pre-bid?</h3><p>In pre-bid this is achieved by looking at the IP address and the user agent. The IP address roughly tells you where the request comes from. If you&#8217;re an US insurance company licensed in 30 states you only want your ads served in those 30 states. The user agent tells you what kind of device is requesting the ad. If the user agent is a bot, eg. HeadlessChrome, bingbot or Applebot you don&#8217;t want your ads being served. But, unfortunately, browsers are able to set their own user agent and proxy servers can be used to fake the geo-location. It means these two precautions don&#8217;t fit the zero-trust model.</p><h3>How is this implemented in post-bid?</h3><p>The typical setup is that a piece of JavaScript code is sent along with the advertisement. Once loaded in the browser it verifies whether the advertisement was seen within the viewport (viewability) and whether the request was made and viewed by a human or a bot. In Connected TV no JavaScript can be executed, only completion pixels can be fired. Whether this fits the zero-trust model can be read below.</p><h2>What would the fraudster do?</h2><p>A few weeks ago I posted this article: &#8216;How to make money using fake browsers&#8217; [6]. This article describes how you can successfully request an advertisement using ~100 lines of Python. One of the images in that article shows the returned advertisement including the post-bid IAS verification loader JavaScript.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gVIs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gVIs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 424w, https://substackcdn.com/image/fetch/$s_!gVIs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 848w, https://substackcdn.com/image/fetch/$s_!gVIs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 1272w, https://substackcdn.com/image/fetch/$s_!gVIs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gVIs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png" width="1456" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The output of the Python script. A bid was won. The bid response is shown as output. It contains the IAS post-bid verification tag.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The output of the Python script. A bid was won. The bid response is shown as output. It contains the IAS post-bid verification tag." title="The output of the Python script. A bid was won. The bid response is shown as output. It contains the IAS post-bid verification tag." srcset="https://substackcdn.com/image/fetch/$s_!gVIs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 424w, https://substackcdn.com/image/fetch/$s_!gVIs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 848w, https://substackcdn.com/image/fetch/$s_!gVIs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 1272w, https://substackcdn.com/image/fetch/$s_!gVIs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59d3505a-f0e4-4e0f-b1bf-8f6c624c74fe_1949x1001.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. The output of the Python script. A bid was won. The bid response is shown as output. It contains the IAS post-bid verification tag.</figcaption></figure></div><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6r-a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6r-a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 424w, https://substackcdn.com/image/fetch/$s_!6r-a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 848w, https://substackcdn.com/image/fetch/$s_!6r-a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 1272w, https://substackcdn.com/image/fetch/$s_!6r-a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6r-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png" width="1437" height="782" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:782,&quot;width&quot;:1437,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The content field in the bid response contains the HTML content which may incl JavaScript to be loaded in the ad slot.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The content field in the bid response contains the HTML content which may incl JavaScript to be loaded in the ad slot." title="The content field in the bid response contains the HTML content which may incl JavaScript to be loaded in the ad slot." srcset="https://substackcdn.com/image/fetch/$s_!6r-a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 424w, https://substackcdn.com/image/fetch/$s_!6r-a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 848w, https://substackcdn.com/image/fetch/$s_!6r-a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 1272w, https://substackcdn.com/image/fetch/$s_!6r-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3f53710-e8c3-4f32-a4b5-344d2a18f219_1437x782.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. The content field in the bid response contains the HTML content which may include JavaScript to be loaded in the ad slot.</figcaption></figure></div><p>Figure 3 shows the prebid response from the ad server. This prebid response contains a field named content which contains the content to be loaded in the ad slot. The content field in Figure 3 is highlighted in red and startes with &#8220;content&#8221;. This field also contains the IAS post-bid verification tag loader. This small piece of JavaScript starts just before the green marked text after the word &lt;script&gt; and ends just after the yellow marked text before the &lt;/script&gt; tag. Its purpose is to load the real verification JavaScript, which is hosted at IAS.</p><h3>IAS ad-tech: 99% trust?</h3><p>Looking at the IAS verification tag loader JavaScript code in figure 3: In the green label the following code can be read:</p><pre><code>if (Math.random() * 100 &lt; 1 &amp;&amp; &#8230;. )</code></pre><p>This means that only 1% of the browsers will load the verification tag. 99% of the browsers will not verify the advertisements. This is called sampling. But, the decision is made <strong>at the client in the browser!</strong> This means the bot decides whether it load the verification script or not. <strong>The bot decides to be in the 99% trusted group, or not.</strong> In this implementation: You don&#8217;t know whether the bot didn't load the verification code <strong>ON PURPOSE</strong>, or the random number was &gt;= 1. </p><p>To give IAS some free advice: If you still want to stick with sampling at 1% then please do it well! Move the decision which ad is to be verified and which not to the server side. In this new scenario the server selects which ad is verified, not the browser, not the bot! If a bot still doesn&#8217;t load the verification tag and thus nothing is returned, this means: the advertisement was not loaded, not viewed and shouldn&#8217;t be paid for. </p><p>In post-bid other vendors do sample as well. Human for example. The difference is the decision which client is verified lies at the server side, which is fine if the decision is really random. As far as I know Double Verify doesn&#8217;t sample.</p><h2>Now what?</h2><p>Is every pre-bid request verified? That depends on the ad-tech infrastructure. Some vendors have partnerships in order to verify all prebid requests, others might do the verification themselves. In post-bid it all depends on the sophistication of the detection (browsers can spoof properties), how well the call back containing the collected data is protected (bots are able to capture and rewrite the returned payload). It also depends whether sampling decisions are made server side (this is the correct way) or client side (this is wrong!). But, how well does the detection solution work? At this moment we just don&#8217;t know because no regular independent security audits are being done to verify this.</p><h3>Prebid</h3><p>More technical checks need and CAN be to be done in order to verify prebid requests. IP address and user agent are just not enough, as they can be spoofed. Although </p><h3>Post bid</h3><p>In order to verify and detect invalid traffic better technology needs to be implemented. You&#8217;ll never detect and flag all invalid traffic, but that&#8217;s not the goal. The goal of better detection is to make it more expensive to operate for bad actors. When bad actors need to continuously improve their technology, have to route the traffic over expensive residential proxies it will make it much more expensive. The end goal would be to make it economically unfeasible to operate. The first step to achieve this goal is to close all blind spots and loopholes. Unfortunately, at this moment huge blind spots and many loopholes still exist.</p><p>The second step is to improve detection technology to detect invalid traffic. This technology exists, but you do have to use it. For example, the current naive detection technology does read many browser properties but take them at face value. In order to improve this your technology needs to be ramped up. If you want to know more about this. <a href="https://oxford-biochron.com">Oxford Biochronometrics</a> can help.</p><h3>Red team audit</h3><p>Brands and/or advertisers do you want to know how well your digital spend is protected against invalid traffic and/or sophisticated invalid traffic aka fraud? In order to know how well your ad-tech infrastructure protects its inventory and thus your spend you could run an audit. The idea behind an audit like this comes from red team/blue team approach [8]. The bots represent the red team and its goal is to demonstrate what works for the defenders. The verification vendors represent the blue team and must defend against real or simulated attacks.</p><p>The red team will unleash a number of different bots. These bots should be different in the level of sophistication. Based on the returned advertisement or a blank HTTP 204 message you know whether the bot was detected or not in pre-bid. The same can be done for post-bid. If the detailed logs contain these bots and show them as human, the bots were not detected. The blue team (the verification vendors) will try to detect the bots. Because the bots differ in sophistication some bots might be detected and some not. If only a subset of the bots is detected you can determine how well the blue team did its work. Of course, if (server side) sampling is used you only have to look at the sample.</p><p>The purpose of this audit is <strong>NOT to share technology</strong> on how to detect bots. Acquiring and improving knowledge is up to the blue team. They&#8217;ll need to hire better staff, build a research lab and run internal blue/red simulations within their lab to improve their bot detection technology.</p><p>Knowing fraudsters and knowing that if any blind spot or loophole exists <strong>they will find it</strong>! To prevent this your verification vendor will have to adopt the zero trust security model and verify everything. Just like the TSA, your virus scanner, and your firewall: 100%!</p><p>Questions? Feel free to connect, comment and/or DM.</p><p></p><p>#adfraud #digitalmarketing #prebid #frauddetection #CMO</p><p>[1] <a href="https://en.wikipedia.org/wiki/Zero_trust_security_model">https://en.wikipedia.org/wiki/Zero_trust_security_model</a></p><p>[2] <a href="https://en.wikipedia.org/wiki/Advanced_persistent_threat">https://en.wikipedia.org/wiki/Advanced_persistent_threat</a></p><p>[3] <a href="https://iabtechlab.com/ads-txt/">https://iabtechlab.com/ads-txt/</a></p><p>[4] <a href="https://support.google.com/admanager/answer/7441288?hl=en">https://support.google.com/admanager/answer/7441288?hl=en</a></p><p>[5] <a href="https://support.google.com/admanager/answer/9422067?hl=en">https://support.google.com/admanager/answer/9422067?hl=en</a></p><p>[6] <a href="https://www.linkedin.com/pulse/how-make-money-using-fake-browsers-sander-kouwenhoven-esgce">https://www.linkedin.com/pulse/how-make-money-using-fake-browsers-sander-kouwenhoven-esgce</a></p><p>[7] <a href="https://support.google.com/admanager/answer/7128958">https://support.google.com/admanager/answer/7128958</a>?</p><p>[8] <a href="https://csrc.nist.gov/glossary/term/red_team_blue_team_approach">https://csrc.nist.gov/glossary/term/red_team_blue_team_approach</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Human Operated Fraud in Lead Generation]]></title><description><![CDATA[Human operated fraud uses tools to circumvent detection technologies that would normally block abuse, spam, fraud, etc.]]></description><link>https://news.oxford-biochron.com/p/human-operated-fraud-in-lead-generation</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/human-operated-fraud-in-lead-generation</guid><dc:creator><![CDATA[Jeff Martinez, CRPC®]]></dc:creator><pubDate>Thu, 28 Nov 2024 16:43:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MYRj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MYRj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MYRj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!MYRj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!MYRj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!MYRj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MYRj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116397,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MYRj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!MYRj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!MYRj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!MYRj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a3a04f3-3684-48c8-bb5f-a29cb98564de_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Human operated fraud uses tools to circumvent detection technologies that would normally block abuse, spam, fraud, etc. These detection technologies work using blacklists. By understanding what exactly is being blacklisted enabled tool makers to build and sell tools that circumvent these lists. These tools are the anti-detect browsers.</p><p>Anti-detect browsers are such a handy tool. They avoid being blocked by platforms or inferior fraud detection solutions, by simply changing their appearance using fake fingerprints and rotate their IP address by using proxies. These tools are sold to manage multiple LinkedIn, Facebook, TikTok, Google ads, Instagram, Youtube, Ebay, Etsy, Coinbase, Telegram, X, etc. accounts using a single browser. If these big platforms can't detect them, then are these tools really that good!?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Other purposes of these anti-detect browsers are to generate leads using stolen PII data. Generating leads using bots is still a hard problem for bot makers. Luckily for fraudsters, the profits are enough to hire humans in low wage countries and these humans will fill out the lead generation forms manually.</p><p>Many different, 30+ listed in this article, anti-detect browsers are on the market. All claiming to have thousands of users. That means there&#8217;s a market for this type of service. The unanswered question is at the expense of what?</p><h3>Fraud in marketing</h3><p>By now it should be clear that fraud does exist in the digital marketing ecosystem. Impression and click fraud happens and cost real money. The difference between impression/ click fraud and lead generation/ digital sale fraud is the frequency and the financial risk. If a fraudulent impression is made it will cost a brand a fraction of a penny, but if a fraudulent lead is being generated it costs $10+ and if followed up by your call center you might get sued because the callee didn&#8217;t provide express consent. That will cost at least $500 : The settlement costs PER CALL and add to that all the legal hours and other overhead costs.</p><p>Fraudster only make money with impression fraud and click fraud at scale. They need millions of impressions to make a few thousands bucks. That&#8217;s why they have an army of bots doing that type of work, simply because: Bots scale well and are cheap. Manually clicking on advertisements by humans does happen. But, only at small scale, the most known type of fraud is to burn a competitor&#8217;s budget. It&#8217;s not to make profit, but to hurt another company. In many other cases humans are too expensive for these types of fraud.</p><p>That changes in lead generation and digital sales. Because, the potential profit per lead or sale is in the dollars range and a typical human is able to generate many leads per hour, or to buy many Taylor Swift tickets per hour. Knowing the amount of profit per ticket ($100++/ticket), or per generated lead ($10+/lead) it&#8217;s a lucrative business.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yG8g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yG8g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!yG8g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!yG8g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!yG8g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yG8g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Different media types in digital marketing and the risk to the brand v. the impact. &quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Different media types in digital marketing and the risk to the brand v. the impact. " title="Different media types in digital marketing and the risk to the brand v. the impact. " srcset="https://substackcdn.com/image/fetch/$s_!yG8g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!yG8g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!yG8g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!yG8g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a0ffda-92ca-4f3e-95e1-77317982db0d_1280x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. Different media types in digital marketing and the risk to the brand v. the impact.</figcaption></figure></div><p>Simple bots can be detected using simple technology. Once you know what the difference is between a Python script firing requests and a real browser or app [1][2], browser automation versus a regular browser, etc. bots can be detected with ease. It becomes next level when you&#8217;re dealing with human operated fraud.</p><h2>Human operated fraud</h2><p>Human fraudsters (human operated fraud) use browsers as intended, using a keyboard and mouse, or touch and a virtual keyboard on a mobile device. So, how does the typical fraud detection vendor try to detect human fraudsters?</p><ul><li><p>IP address reputation</p></li><li><p>Fingerprinting of device and browser</p></li></ul><p>Once fraud has happened an IP address, or fingerprint is put on a blacklist for 30, 60 or even 180 days. Of course this will only solve the fraud problem if fraudsters would use their home IP address and their regular browser. But, they don&#8217;t. So, how are these human operated fraudsters able to rotate IP addresses and fingerprints?</p><h3>How do these human operated fraudsters work?</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uMp6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uMp6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 424w, https://substackcdn.com/image/fetch/$s_!uMp6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 848w, https://substackcdn.com/image/fetch/$s_!uMp6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 1272w, https://substackcdn.com/image/fetch/$s_!uMp6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uMp6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/810cb583-683c-4fee-8495-563cb66612a6_1488x837.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Anti-detect browsers and their positioning. These browsers are the to-go tool for fraudsters enabling anonymity by rotating proxies and fingerprints.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Anti-detect browsers and their positioning. These browsers are the to-go tool for fraudsters enabling anonymity by rotating proxies and fingerprints." title="Anti-detect browsers and their positioning. These browsers are the to-go tool for fraudsters enabling anonymity by rotating proxies and fingerprints." srcset="https://substackcdn.com/image/fetch/$s_!uMp6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 424w, https://substackcdn.com/image/fetch/$s_!uMp6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 848w, https://substackcdn.com/image/fetch/$s_!uMp6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 1272w, https://substackcdn.com/image/fetch/$s_!uMp6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F810cb583-683c-4fee-8495-563cb66612a6_1488x837.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Anti-detect browsers and their positioning. These browsers are the to-go tool for fraudsters enabling anonymity by rotating proxies and fingerprints.</figcaption></figure></div><p>The goal is to circumvent being blocked by both IP address blacklists and fingerprint blacklists. The poor fraudster&#8217;s solution is to use a browser extensions to change the browser&#8217;s fingerprint [3]. These browser extensions will be used in combination with free proxies or free VPNs [4]. But, &#8216;free&#8217; comes with a catch: It can be detected with ease. The usage of browser extensions can be detected from JavaScript. Secondly, free proxies and VPNs operate 99 out of 100 times out of data centers.</p><p>Professionals use special anti-detect browsers. These browsers are rented as a service and do cost a monthly fee. Quality has its price. These browsers have built-in features that enable a different proxy server per browser tab, a different device fingerprint per browser tab, a different local storage and cookie jar per browser tab, a different browsing history per browser tab. In other words, each tab looks like a completely separate visitor coming from a distinct location using a completely different device.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I0Dz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I0Dz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 424w, https://substackcdn.com/image/fetch/$s_!I0Dz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 848w, https://substackcdn.com/image/fetch/$s_!I0Dz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!I0Dz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I0Dz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png" width="804" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:804,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;These are 16 examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on. &quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="These are 16 examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on. " title="These are 16 examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on. " srcset="https://substackcdn.com/image/fetch/$s_!I0Dz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 424w, https://substackcdn.com/image/fetch/$s_!I0Dz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 848w, https://substackcdn.com/image/fetch/$s_!I0Dz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!I0Dz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ec8fce-af12-4f82-9505-e04edc658a8f_804x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. Anti-detect browsers part 1. These are examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on.</figcaption></figure></div><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RExN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RExN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 424w, https://substackcdn.com/image/fetch/$s_!RExN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 848w, https://substackcdn.com/image/fetch/$s_!RExN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!RExN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RExN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png" width="804" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cea41451-963b-412c-906c-f3f885af0430_804x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:804,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Anti-detect browsers part 2. These are examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on. &quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Anti-detect browsers part 2. These are examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on. " title="Anti-detect browsers part 2. These are examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on. " srcset="https://substackcdn.com/image/fetch/$s_!RExN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 424w, https://substackcdn.com/image/fetch/$s_!RExN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 848w, https://substackcdn.com/image/fetch/$s_!RExN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!RExN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcea41451-963b-412c-906c-f3f885af0430_804x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. Anti-detect browsers part 2. These are examples of so called &#8220;anti-detect browsers&#8221;, their URLs and the platforms they&#8217;re available on.</figcaption></figure></div><p>Anti-detect browsers support importing and exporting profiles, which means device and browser fingerprint, cookies, local storage, history, etc. can be transferred from desktop A to desktop B and someone else is able to continue a warm session. You might think that this is a lot of manual work? Wrong! Because many of these browsers support a build in REST API [5] in order to automate import and export of profiles. These profiles are typically stored centrally and workers will download such a profile and continue to reach their goal.</p><p>Centrally storing profiles also enables bots to warm up profiles by browsing the Internet, collecting cookies, and be tracked over websites of a certain topic groups, etc. Once a profile is &#8216;warm&#8217; or &#8216;mature&#8217; implies that it fits an audience and advertisements targeted at this audience will be shown. Now it&#8217;s just a matter of browsing to complicit websites and click on the advertisement and finally be redirected to the landing page. This means the attribution goes to the complicit websites. </p><p>Humans will fill out the lead generation form, or buy the digital products. Although this can be done by bots, humans are more flexible in unexpected situations when for example lead generation forms are being A/B tested. Also existing fraud detection tools will have a harder time, looking at IP address reputation and blacklisted fingerprints works only after the fact.</p><h3>Cloud phones</h3><p>Figure 3 and Figure 4 list 31 anti-detect browsers mostly available for Windows and Mac. Some anti-detect browsers have a Linux or Android version. Some even offer cloud phones, which means that on a desktop you&#8217;ll be remote controlling a real physical phone in a data center. The left images in Figure 5 shows that phones in a cloud -which is just a fancy name for a data center- don&#8217;t look like your iPhone or Samsung phone with a touch screen, battery, GPS, etc. Nope, these phones are the bare minimum hardware: a circuit board with a CPU, memory, (e)SIM, storage and an installed OS and apps that enable the phone to be remote controlled over the Internet, spoof GPS, and have a remote camera, etc. </p><p>Using special anti-detect browsers enables you to use these phones as a service. Connect to them, push your profile (cookies, local storage, device fingerprint, browsing history), and continue whatever session and do you want. And, yes, these phones have SIM cards (virtual eSIMs), so they are able to send/ receive text messages. Figure 5 shows how a box of phones look like and how they can be remote controlled. These are btw real Samsung phones, but without the screen and battery.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4je5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4je5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 424w, https://substackcdn.com/image/fetch/$s_!4je5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 848w, https://substackcdn.com/image/fetch/$s_!4je5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 1272w, https://substackcdn.com/image/fetch/$s_!4je5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4je5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png" width="1144" height="635" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:635,&quot;width&quot;:1144,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Phone boxes. Each box can hold 20 phones. Phones are remote controlled over the Internet using special anti-detect browsers.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Phone boxes. Each box can hold 20 phones. Phones are remote controlled over the Internet using special anti-detect browsers." title="Phone boxes. Each box can hold 20 phones. Phones are remote controlled over the Internet using special anti-detect browsers." srcset="https://substackcdn.com/image/fetch/$s_!4je5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 424w, https://substackcdn.com/image/fetch/$s_!4je5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 848w, https://substackcdn.com/image/fetch/$s_!4je5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 1272w, https://substackcdn.com/image/fetch/$s_!4je5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdd90970-eaeb-49d8-84dc-99c8e80eb8cb_1144x635.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 5. Phone boxes. Each box can hold 20 phones. Phones are remote controlled over the Internet using special browsers.</figcaption></figure></div><p>Anti-detect browsers can be used for legitimate business. For example, if you manage multiple social media accounts, eg. 5 -- 10 small businesses, you prefer not to have to login/ logout 20 times a day and switch between companies in order to answer questions, post messages, etc. But, the same technology can also be used for less legitimate things. There&#8217;s a thin line where privacy ends and a fraudster&#8217;s toolbox starts. Do you really need a build-in REST API in your browser to guarantee privacy? Do you really need a marketplace where you can buy a zillion device fingerprints collected from real devices in order to guarantee privacy? Do you really need a unique device fingerprint and proxy per browser tab?</p><h3>What are they really used for? These anti-detect browsers</h3><p>What can be achieved with these anti-detect browsers, besides warming up and aging visitor profiles and some lead generation fraud? What are these browsers used for? If you look at how people use these browsers you&#8217;ll find that they are used for:</p><ul><li><p>Ticket / Sneaker scalping</p></li><li><p>Online dating scams</p></li><li><p>Pig butchering, shazhupan aka investment scams</p></li><li><p>Fake reviews</p></li><li><p>Lead generation fraud</p></li><li><p>Troll farms</p></li><li><p>Card testing</p></li><li><p>Inflate social media activity and interactions</p></li><li><p>Affiliate marketing fraud</p></li><li><p>Click fraud</p></li><li><p>Poison surveys</p></li><li><p>Get free coupons, freebies, promotions, etc.</p></li></ul><p>In Figure 6 an online forum message is shown where someone complains about fraudulent clicks on advertisements and subsequently fraudulent generated leads. Google is not able to detect these clicks, and Google&#8217;s algorithm is completely poisoned because it thinks these clicks are legitimate. The last line of the bottom message is the most concerning one. Quote &#8220;They essentially refuse to admit there&#8217;s any way that invalid traffic can exist outside their ability to detect it&#8221;. The arrogance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZBcd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZBcd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 424w, https://substackcdn.com/image/fetch/$s_!ZBcd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 848w, https://substackcdn.com/image/fetch/$s_!ZBcd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBcd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZBcd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png" width="1138" height="612" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:612,&quot;width&quot;:1138,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Two forum messages found in BHW (blackhatworld) describing that fraudsters use anti-detect browsers to fill out lead generation forms and Google is unable to detect it nor admit it.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two forum messages found in BHW (blackhatworld) describing that fraudsters use anti-detect browsers to fill out lead generation forms and Google is unable to detect it nor admit it." title="Two forum messages found in BHW (blackhatworld) describing that fraudsters use anti-detect browsers to fill out lead generation forms and Google is unable to detect it nor admit it." srcset="https://substackcdn.com/image/fetch/$s_!ZBcd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 424w, https://substackcdn.com/image/fetch/$s_!ZBcd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 848w, https://substackcdn.com/image/fetch/$s_!ZBcd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBcd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1918823e-934b-4207-99d9-13a90bc4e8af_1138x612.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6. Two forum messages found in BHW (blackhatworld) describing that fraudsters use anti-detect browsers to fill out lead generation forms and Google is unable to detect it nor admit it.</figcaption></figure></div><p>Another example of anti-detect browsers can be found on the websites of these browsers, and more specific on the services pages. Figure 7 shows that multilogin can be used for ticket scalping. For those who don&#8217;t know what ticket scalping is Figure 8 describes how the ticket scalping solution page explains it. With the best regards to #TaylorSwift</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3YgP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3YgP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 424w, https://substackcdn.com/image/fetch/$s_!3YgP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 848w, https://substackcdn.com/image/fetch/$s_!3YgP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 1272w, https://substackcdn.com/image/fetch/$s_!3YgP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3YgP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png" width="1241" height="436" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:436,&quot;width&quot;:1241,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;As advertised on an anti-detect browser's solution page: Ticket scalping works with 20 ticket platforms.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="As advertised on an anti-detect browser's solution page: Ticket scalping works with 20 ticket platforms." title="As advertised on an anti-detect browser's solution page: Ticket scalping works with 20 ticket platforms." srcset="https://substackcdn.com/image/fetch/$s_!3YgP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 424w, https://substackcdn.com/image/fetch/$s_!3YgP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 848w, https://substackcdn.com/image/fetch/$s_!3YgP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 1272w, https://substackcdn.com/image/fetch/$s_!3YgP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd224e2e-0698-4b42-9f46-80f22e582212_1241x436.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 7. As advertised on an anti-detect browser's solution page: Ticket scalping works with 20 ticket platforms.</figcaption></figure></div><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gInr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gInr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 424w, https://substackcdn.com/image/fetch/$s_!gInr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 848w, https://substackcdn.com/image/fetch/$s_!gInr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 1272w, https://substackcdn.com/image/fetch/$s_!gInr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gInr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png" width="990" height="360" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:990,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What is ticket scalping, described by an anti-detect browser's ticket scalping solution page.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What is ticket scalping, described by an anti-detect browser's ticket scalping solution page." title="What is ticket scalping, described by an anti-detect browser's ticket scalping solution page." srcset="https://substackcdn.com/image/fetch/$s_!gInr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 424w, https://substackcdn.com/image/fetch/$s_!gInr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 848w, https://substackcdn.com/image/fetch/$s_!gInr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 1272w, https://substackcdn.com/image/fetch/$s_!gInr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c51e54c-7296-43c1-b158-daed11926e4f_990x360.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 8. What is ticket scalping, described by an anti-detect browser's ticket scalping solution page.</figcaption></figure></div><h3>How do fraudsters know these tools work?</h3><p>How do fraudsters know the claims of these anti-detect browsers are real? They&#8217;ll be the worst customers believing any claims. They trust nobody and they know exactly why. Their validation tools are public websites showing their fingerprint and/or VPN/proxy server information.</p><p>Whoer.net is a &#8216;service aimed at vertifying the information your computer sends to the Internet&#8217;. They will check the reputation of your IP address, or the VPN/ proxy you are using. Secondly, they&#8217;ll check what information is available to be fingerprinted. </p><p>These websites will check and show your browser&#8217;s fingerprint, and a fingerprint reputation score:</p><ul><li><p>https://pixelscan.net</p></li><li><p>https://browserleaks.com</p></li><li><p><a href="https://abrahamjuliot.github.io/creepjs/">https://abrahamjuliot.github.io/creepjs/</a></p></li></ul><p>In order to validate DNS leaks they&#8217;ll use https://dnsleaktest.com/. Some more background info on this: If your webtraffic routed over a proxy server a web server will only see the proxy server&#8217;s IP address. DNS traffic from the same host is not routed over that proxy but is sent directly. A session specific DNS query and the difference in IP addresses (proxy IP address vs real IP address) can be detected and may be flagged as fraud. </p><p>Other types of leaks (DNS, WebRTC or msleak) can be validated using https://www.perfect-privacy.com/. They offer tests to validate whether your browser leaks your real IP. These are the test URLs:</p><ul><li><p><a href="https://www.perfect-privacy.com/en/tests/dns-leaktest">https://www.perfect-privacy.com/en/tests/dns-leaktest</a></p></li><li><p><a href="https://www.perfect-privacy.com/en/tests/msleaktest">https://www.perfect-privacy.com/en/tests/msleaktest</a></p></li><li><p><a href="https://www.perfect-privacy.com/en/tests/webrtc-leaktest">https://www.perfect-privacy.com/en/tests/webrtc-leaktest</a></p></li><li><p><a href="https://browserleaks.com/webrtc">https://browserleaks.com/webrtc</a></p></li><li><p><a href="https://browserleaks.com/dns">https://browserleaks.com/dns</a></p></li><li><p><a href="https://nordvpn.com/dns-leak-test/">https://nordvpn.com/dns-leak-test/</a></p></li></ul><p>And many more of these tests exist online.</p><h3>Now what?</h3><p>Apparently humans using anti-detect browsers bypass all fraud detections. Once they know how to configure their browser, which settings work best per website or platform, which residential proxy providers have the best (fresh) proxies, which device fingerprints look genuine, they bypass all fraud detections. The existing bot detections at these platforms aren&#8217;t effective, because these fraudsters are not using bots, but real browsers with a human interface. They&#8217;ll use real phone numbers to receive texts in case of 2FA.</p><p>These tools are also used in lead generation, or in digital sales. Humans will manually fill out the lead generation forms and the attribution goes to the affiliate or source that provided the lead. If these sources have knowingly or unknowingly generated fraudulent leads they still get paid. The tcpa and potential litigation risks are for the brand buying and following up on these leads.</p><h3>So, can this type of fraud be detected?</h3><p>In lead generation the behavior of fraudsters differs from regular people who will see the lead generation form for the first time. It&#8217;s like walking in a store straight to the right section, the right aisle in order to get the articles you want.</p><p>Routine and experience and time pressure are hard to detect, but not impossible. It&#8217;s like looking at the differences in handwriting. A doctor&#8217;s handwriting is impossible to read for normal people. Most people have inconsistent handwriting, though the same quirks and style can be seen in their writing. Professional calligraphists have great control over their handwriting because of knowledge, routine and experience. Someone filling out a multi-stage lead generation form for the first time doesn&#8217;t know what is coming, has to read the labels carefully, etc. This behavior is completely different compared to someone filling out hits form for the 53rd time.</p><p>Behavioral differences and in particular fraudulent behavior is what <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>detects besides the regular browser automation and request based bots. Fraud detection at this stage needs to be done with great care, because false positives are very expensive, ie. missing a business opportunity. False negatives are again expensive in terms of potential litigation risks [6]. That&#8217;s why <strong>accuracy of fraud detection</strong> is of great importance. <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>encourages their clients to continuously measure the performance of the fraud detection implementation and some of our client have even A/B tested us against other vendors. The result: They keep on being our client, and we keep on being the best!</p><p>Want to know more? Questions? Suggestions? Corrections? Comment, connect or DM</p><p>#adfraud #leadgeneration #CMO #tcpa #antidetect #frauddetection</p><p>2024-11-21</p><p>Update 2024-11-22:</p><ul><li><p>Added section "How do fraudsters know these tools work?"</p></li><li><p>Updated title image, now includes synthetic IDs</p></li></ul><ul><li><p>Added section "How do fraudsters know these tools work?"</p></li><li><p>Updated title image, now includes synthetic IDs</p></li></ul><p>[1] https://www.linkedin.com/pulse/how-make-money-using-fake-browsers-sander-kouwenhoven-esgce</p><p>[2] https://www.linkedin.com/pulse/how-make-money-using-fake-android-apps-sander-kouwenhoven-hs1me</p><p>[3] https://awesome-privacy.xyz/security-tools/browser-extensions</p><p>[4] https://www.linkedin.com/pulse/proxy-servers-root-all-evil-ad-fraud-sander-kouwenhoven-mtt7e</p><p>[5] https://en.wikipedia.org/wiki/REST</p><p>[6] https://www.linkedin.com/pulse/what-gets-mismeasured-mismanaged-sander-kouwenhoven-2wlee</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Are Proxy Servers the Root of All Evil in Ad Fraud?]]></title><description><![CDATA[Addy Be Good]]></description><link>https://news.oxford-biochron.com/p/are-proxy-servers-the-root-of-all</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/are-proxy-servers-the-root-of-all</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Tue, 05 Nov 2024 16:42:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xjuY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xjuY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xjuY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xjuY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xjuY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xjuY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xjuY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:595325,&quot;alt&quot;:&quot;Are proxy servers the root of all evil in ad fraud?&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Are proxy servers the root of all evil in ad fraud?" title="Are proxy servers the root of all evil in ad fraud?" srcset="https://substackcdn.com/image/fetch/$s_!xjuY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xjuY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xjuY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xjuY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f402dda-b678-4438-8860-59fd516c9a7d_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Are proxy servers the root of all evil in ad fraud?</figcaption></figure></div><p>Imagine an Internet without proxy servers. It would imply that all traffic originates from its own IP address. That also means that when bots in a data center load advertisements, click on advertisements, watch videos, or listen to podcasts you&#8217;ll be able to see them simply by looking at the usage per IP address. Normal humans don't load 1000s of ads per minute, or watch hundreds of video streams concurrently. Without proxies excessive usage numbers using automation would be visible.</p><p>This means that proxy servers enable bots, and other types of fraud to split their traffic over many different proxies. For example, if you run multiple browsers then each browser connects to a different proxy. At the receiving end you&#8217;ll see the incoming requests from many different IP addresses.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>Legitimate usage?</strong></p><p>Proxy servers do have a legitimate usage. For example, you run different digital campaigns per state and you want to verify the correct ads are served per state. Second example is to verify that advertisements don't serve malware to residential IP addresses only. Third example would be to verify that advertisement really advertise what is being sold on the landing page after the click.</p><p>The fraudster technique behind this is 'cloaking' where only residential IP addresses and specific user agents arrive at the gambling, counterfeit products, or illegal goods, etc. website. Visitors from data centers, eg. automated scans by Google, Microsoft, etc., are sent to a different website and thus the automated scan thinks that the advertisement are legit, or no malware is served.</p><p>It becomes a gray area when scrapers, crawlers and bots using proxies harvest your content in order to train AI models, collect price information, etc. Though, you could disallow these bots by adding their user agents to your robots.txt, but will these bots adhere these rules? If they even declare themselves as bot. And if not what will you do?</p><p>The next valid question would be: How do these legitimate cases explain the vast amount of companies offering zillions of proxies? And those are not data center or ISP proxies, but residential proxies in your neighborhood.</p><p><strong>So, Where do these residential proxies come from?</strong></p><p>A simple Google search query &#8220;high quality proxies proxy servers&#8221; shows 19 companies offering proxy services, and there are many more. A screenshot of the results can be seen in Figure 1. Detailed information of the first 10 companies are shown in Table 1. The table contains the company name, URL with details of the residential proxies, the number of proxies worldwide, in the US, in the UK, and in Germany. This gives a good idea how big this ecosystem is, the combined total of these 10 companies world wide is <strong>over half a billion proxy servers</strong>! Let that sink in!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UgHy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UgHy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 424w, https://substackcdn.com/image/fetch/$s_!UgHy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 848w, https://substackcdn.com/image/fetch/$s_!UgHy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 1272w, https://substackcdn.com/image/fetch/$s_!UgHy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UgHy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png" width="1443" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:1443,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A simple search query returns 19 companies offering proxy services.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A simple search query returns 19 companies offering proxy services." title="A simple search query returns 19 companies offering proxy services." srcset="https://substackcdn.com/image/fetch/$s_!UgHy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 424w, https://substackcdn.com/image/fetch/$s_!UgHy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 848w, https://substackcdn.com/image/fetch/$s_!UgHy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 1272w, https://substackcdn.com/image/fetch/$s_!UgHy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3af9748e-b844-4f71-bb53-a334669f8469_1443x853.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. A simple search query returns 19 companies offering proxy services.</figcaption></figure></div><p>Table 1 shows the number of IP addresses and the bulk of these are residential IP addresses. An important question would be: How are these residential addresses obtained? The companies themselves claim they are obtained... ethically.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7M7E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7M7E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 424w, https://substackcdn.com/image/fetch/$s_!7M7E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 848w, https://substackcdn.com/image/fetch/$s_!7M7E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 1272w, https://substackcdn.com/image/fetch/$s_!7M7E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7M7E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png" width="1456" height="652" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:652,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Ten companies offering data center, ISP, mobile and residential proxies. The number of proxies offered in three countries and the world total. *number of proxies in millions.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ten companies offering data center, ISP, mobile and residential proxies. The number of proxies offered in three countries and the world total. *number of proxies in millions." title="Ten companies offering data center, ISP, mobile and residential proxies. The number of proxies offered in three countries and the world total. *number of proxies in millions." srcset="https://substackcdn.com/image/fetch/$s_!7M7E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 424w, https://substackcdn.com/image/fetch/$s_!7M7E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 848w, https://substackcdn.com/image/fetch/$s_!7M7E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 1272w, https://substackcdn.com/image/fetch/$s_!7M7E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940e286c-4e39-46eb-8dac-7f693e61bf32_1508x675.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Table 1. Ten companies offering data center, ISP, mobile and residential proxies. The number of proxies offered in three countries and the world total. *number of proxies in millions.</figcaption></figure></div><p>So, how do these proxy companies source their IP address and obtain bandwidth from regular people? By looking at the almost infinite numbers it should be fairly easy.</p><ol><li><p>Mobile App creators integrate proxy SDKs in (free) Apps. This enables the developer to earn some extra money [1] [2].</p></li><li><p>Windows or Mac application developers integrate a proxy SDK in their software. This enables the developer to earn some extra money [1] [2].</p></li><li><p>Directly sublet your home broadband to companies that use your bandwidth to proxy their client&#8217;s web traffic [3] [4].</p></li><li><p>(free) VPN apps. You&#8217;re using a free app and think you are safe. The catch is that the VPN tunnel works in both directions. Your internet connection is used by someone else paying to anonymously access the Internet.</p></li><li><p>Malware. Legitimate companies will typically not use malware, but if they obtain their proxies from other companies without doing a proper checks this might be the case.</p></li><li><p>IP range hijacking. Ancient IPv4 addresses assigned 20+ years ago, forgotten by administrators, no ARIN membership [5], no protections like RPKI or ROA [6] makes them vulnerable to IP range hijacking [7]. Just like malware it's not legal, but IP range hijacking does happen and if successful it generates a lot of money.</p></li></ol><p>You can decide for yourself how ethical each method is. The IP range hijacking and malware proxies are typically used in real criminal activities (hacking, data extraction from companies or government) as criminals can be sure that they don't log anything nor leave a trace.</p><p><strong>Breaking down making money for bandwidth</strong></p><p>If you sublet your own home broadband you'll get compensated for the bandwidth. But how much do you get compared to the money these companies make?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6xRd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6xRd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 424w, https://substackcdn.com/image/fetch/$s_!6xRd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 848w, https://substackcdn.com/image/fetch/$s_!6xRd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 1272w, https://substackcdn.com/image/fetch/$s_!6xRd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6xRd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png" width="1456" height="914" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:914,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The pawns.app, formally known as RoyalP pawns offers you cash for bandwidth.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The pawns.app, formally known as RoyalP pawns offers you cash for bandwidth." title="The pawns.app, formally known as RoyalP pawns offers you cash for bandwidth." srcset="https://substackcdn.com/image/fetch/$s_!6xRd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 424w, https://substackcdn.com/image/fetch/$s_!6xRd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 848w, https://substackcdn.com/image/fetch/$s_!6xRd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 1272w, https://substackcdn.com/image/fetch/$s_!6xRd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b0e54f8-7a70-45b4-b3eb-32f9ffcfccbf_1467x921.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. The pawns.app, formally known as RoyalP pawns offers you cash for bandwidth.</figcaption></figure></div><p>Figure 2 shows that by sharing your internet connection <strong>you'll earn $0.20/GByte</strong> and Figure 3 shows that <strong>as a proxy user you pay from $4.55/GByte</strong> when buying 100GByte of traffic (residential proxies). That&#8217;s a nice margin! The earnings with cash for bandwidth are capped at $140/month, but the proxy subscribers will have to pay for each and every GByte.</p><p>But, if an App integrates an SDK which allows the app to act as a proxy. Does the owner of the device know this? And is this person compensated for the bandwidth? Or is the App developer the only one being compensated (at $0.20 / GByte) ? [8] How ethical is that?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yENs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yENs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 424w, https://substackcdn.com/image/fetch/$s_!yENs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 848w, https://substackcdn.com/image/fetch/$s_!yENs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 1272w, https://substackcdn.com/image/fetch/$s_!yENs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yENs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png" width="1456" height="992" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:992,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Residential proxies pricing. Buying 100Gbyte gives you a 35% discount, and will cost you $4.55 per GByte.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Residential proxies pricing. Buying 100Gbyte gives you a 35% discount, and will cost you $4.55 per GByte." title="Residential proxies pricing. Buying 100Gbyte gives you a 35% discount, and will cost you $4.55 per GByte." srcset="https://substackcdn.com/image/fetch/$s_!yENs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 424w, https://substackcdn.com/image/fetch/$s_!yENs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 848w, https://substackcdn.com/image/fetch/$s_!yENs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 1272w, https://substackcdn.com/image/fetch/$s_!yENs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f30114-5a40-44c3-bd83-4f23c2352052_1467x999.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. Residential proxies pricing. Buying 100 GByte gives you a 35% discount, and costs $4.55 / GByte.</figcaption></figure></div><p>Again, you can decide for yourself how ethical this compensation is. The example above is just one out of many. If you want to look at some other examples, just search for: Honeygain, Repocket, Earnapp, Packetstream, Loadteam, and there are many more.</p><h3>Fraud detection of proxy servers</h3><p>Proxy servers only forward specific traffic, browser traffic or HTTPs traffic. Technically the setup looks like this: Your browser talks to a proxy, the proxy server talks to the web server, and because of that the web server only sees the IP address of the proxy server. Legitimate proxy servers will add HTTP headers, eg. x-forwarded-for, to inform the web server that they did forward the request. But, not all proxy servers do that. Other network traffic, such as DNS queries, UDP are not forwarded to a proxy server by your browser. They are sent directly. This can be leveraged for fraud detection.</p><p><strong>WebRTC (Web Real-Time Communication)</strong></p><p>Having a zoom video call from your browser uses WebRTC. In order to communicate your browser tries to directly communicate with the zoom video server. Your browser will bypass the HTTPs proxy server and tries to communicate directly. If the user, or fraudster, doesn&#8217;t realize this it can be used to determine the true IP address of the client.</p><p><strong>DNS (Domain name system)</strong></p><p>Domain name resolving works backwards. For example, if you want to resolve the IP address of <a href="http://blablabla.phonyurl.com/">blablabla.phonyurl.com</a> you ask your local DNS server: what is the IP address of this domain? If it isn&#8217;t cached, it will start the full resolve process. First the .com domain is asked: who is <a href="http://phonyurl.com/">phonyurl.com</a>? Then a second DNS query is made and sent to the DNS server of <a href="http://phonyurl.com/">phonyurl.com</a> in order to know what is the the IP address of <a href="http://blablabla.phonyurl.com/">blablabla.phonyurl.com</a>. If you are the owner of <a href="http://phonyurl.com/">phonyurl.com</a> you also own the local DNS server. Now, let&#8217;s generate unique random subdomain names which don't exist yet and thus cannot be cached. In that case the <a href="http://phonyurl.com/">phonyurl.com</a> DNS server will see a query to resolve some random name and thus knows which IP address did try to resolve that name. Tying back the IP address from the DNS resolve to the IP address of the visitor which downloaded a JavaScript file which included this random DNS name is another way of matching the IP addresses. If they are the same it's great, but if they differ that could be because DNS resolving is not sent through a proxy server.</p><h3>Difference proxy server and VPN</h3><p>One way to overcome this is to use VPNs which tunnels all network traffic to its endpoint. This includes all protocols like HTTPs, DNS, UDP, NTP, etc. Figure 4 shows the differences between a proxy server and a VPN and how fraud detection at the receiving end would be able to see the IP address(es).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jAQk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jAQk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 424w, https://substackcdn.com/image/fetch/$s_!jAQk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 848w, https://substackcdn.com/image/fetch/$s_!jAQk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 1272w, https://substackcdn.com/image/fetch/$s_!jAQk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jAQk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png" width="1456" height="573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The difference between HTTPs proxies and VPNs. VPN forwards all protocols, whereas a proxy only forwards HTTPs.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The difference between HTTPs proxies and VPNs. VPN forwards all protocols, whereas a proxy only forwards HTTPs." title="The difference between HTTPs proxies and VPNs. VPN forwards all protocols, whereas a proxy only forwards HTTPs." srcset="https://substackcdn.com/image/fetch/$s_!jAQk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 424w, https://substackcdn.com/image/fetch/$s_!jAQk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 848w, https://substackcdn.com/image/fetch/$s_!jAQk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 1272w, https://substackcdn.com/image/fetch/$s_!jAQk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8267cea2-06ed-45da-a38c-359e239990ed_1873x737.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. The difference between HTTPs proxies and VPNs. VPNs forward all traffic of any protocol, whereas a proxy only forwards HTTPs traffic.</figcaption></figure></div><blockquote></blockquote><h3>Are (residential) proxies a problem in ad fraud and lead generation fraud?</h3><p>This is a perfectly valid question. If ad verifcation companies do blacklist all data center IP address ranges, prebid will be ignored, and no advertisements will be served to these IP address ranges. If bots running in a data center don't get advertisements fraudsters in the ad fraud ecosystem will have to use more expensive residential proxies.</p><p>I&#8217;ll leave it to the reader to ask their ad verification partner whether they upfront flag data center IP address ranges and prevent prebids and ads being served to bots. If they say: &#8220;Yes, we do block them!&#8221; Can you just trust them? or should you validate their claim using a few random data center proxy servers yourself.</p><p>Once you know data center proxies are blocked you might have peace of mind. But, residential and mobile proxies still exist. Though they are more expensive to use than traffic directly from a data center, will ad fraud will still be profitable? If you have to pay $4.55 per GByte, the question is: How many advertisements fit in a GByte? That, of course, differs per ad type. A video ad consumes more bandwidth than a display ad. As you can see, and calculate, these proxies are too expensive for impression ad fraud, especially video ads. Simply calculate how much a site earns per 1000 ads, and calculate the data usage of these ads. Spoiler: Renting residential proxies eats away most, if not all, of the profit made by impression fraud.</p><p>In lead generation the volume and thus data usage is smaller and the profits per generated lead are way higher: Dollars instead of fractional pennies. That's why residential proxies in lead generation are common. A second reason is that they when filling out a form the contact address and area code of the phone number has to match the geolocation of the IP address. Proxy providers do programmatically offer you to connect to specific proxies in countries, states, ZIP code, cities or ASN (Autonomous System Numbers) / ISPs. This enables fraudsters to quickly switch to the desired location matching the PII data to be filled out in the contact form. And you already know this, the PII data is bought on the dark web and originates from data breaches.</p><p>As mentioned fraudsters continuously rotate IP addresses to keep under the rate-limiting radar, matching IP address with contact data. That combined with the availability of 50 million IP addresses, it will take a very long long time to exhaust all IP addresses or even blacklist them, and these simple facts should worry you.</p><p><strong>So, again in different words: Are proxy servers (and VPNs) the enabler of ad fraud?</strong></p><p>Without proxies, protecting against ad fraud and lead generation fraud would be so much simpler. Simply flag an IP address when fraud is detected, and use rate limiting per IP address to prevent excessive usage. Only these simple filters will solve 80% of the problems. But, reality is different: Proxies (and VPNs) are part of the Internet. And, thus yes, they are the enabler of many sorts of fraud, downloading TBytes of data from data breaches, web scraping, spamming, buying Taylor Swift tickets, purchase all limited sneakers or playstations at the moment of release, etc.</p><p>Can they be detected reliably? It depends. The companies providing these proxy services do improve and because of that it gets harder to detect inconsistencies. But, luckily, many fraudsters are not that technically skilled and make mistakes. The professionals however are a pain and know how to configure their bots to avoid detection at almost all levels. Luckily, in lead generation humans have to interact with the contact form and by looking at the human interactional behavior <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>is able to determine whether <strong>someone</strong> interacts with the contact form, or <strong>something</strong> interacts with the contact form. A bot replaying a pre-recorded session, or a bot moving the mouse using programmatic lines (eg. b-spline or bezier curves), etc.</p><p>Human operated fraud using browsers and residential proxies or VPNs is another level. Luckily their behavior is different from normal humans. Just like an experienced shop owner is able to spot a thief by looking at human behavior, this works the same in the digital world.</p><p>Want to know more? Questions? Corrections? Suggestions? Feel free to connect, comment or DM</p><p>#proxies #adfraud #leadgen #CMO #residentialproxies </p><p>[1] https://bright-sdk.com/</p><p>[2] https://infatica.io/sdk-monetization/</p><p>[3] https://www.getpaidto.com/quick-points/bandwidth/</p><p>[4] https://pawns.app/internet-sharing/</p><p>[5] https://www.arin.net/</p><p>[6] https://www.arin.net/resources/manage/rpki/roa_request/</p><p>[7] https://ipv4.global/blog/hijacked-ip-addresses/</p><p>[8] https://repocket.com/sdk</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How to Make Money Using Fake Android Apps?]]></title><description><![CDATA[Easy Peasy Money Machine]]></description><link>https://news.oxford-biochron.com/p/how-to-make-money-using-fake-android</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/how-to-make-money-using-fake-android</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 25 Oct 2024 16:11:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dNEd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dNEd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dNEd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!dNEd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!dNEd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!dNEd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dNEd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:222775,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dNEd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!dNEd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!dNEd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!dNEd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F61038f2f-111a-43dc-ab65-885fd22ca6c1_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ad fraud. In this case App fraud. Although no Android phone and installed apps are involved. The fraud is completely generated on servers running a Python script.</p><p>You might think: &#8220;Sure.. but, we have a blacklist, so we&#8217;re safe!&#8221;. Wrong! Your blacklist doesn&#8217;t contain all possible permutations of fake app names. Fraudsters continuously generate new names, and sometimes even use random sequences of characters. Having and managing a whitelist of allowed appnames would be much safer! But, how safe are you really?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>About two months ago Dr. Augustine Fou asked me the following question:</p><blockquote><p><strong>How difficult is it to generate or modify a HTTP web request to retrieve a webpage?</strong>After some questions back and forth it boiled down to:</p></blockquote><ul><li><p>Can a bot modify or add a referrer to a request? And if so: How?</p></li><li><p>Can a bot modify or add the App name (Android)? And if so: How?</p></li><li><p>Can a bot modify a bid request? And if so: How?</p></li><li><p>Can a bot modify the domain of the website? And if so: How?</p></li></ul><p>To answer these 4 questions upfront: Yes, this is possible! In this article I will show you how you can change HTTP requests in your browser and how it can be done programmatically.</p><p>Dr Fou&#8217;s post &#8220;60% of digital ad spending going to mobile apps is a bad thing&#8221; states that apps generate &#8220;30 trillion bid requests per week&#8221; [4]. Full stop! Let&#8217;s break that down: First, let&#8217;s assume this number is worldwide. In digital marketing the USA represents about 1/3rd of the worldwide volume. The USA population is according wikipedia 335 million. So, 10 trillion bid requests divided by 335 million = 29,851 bid requests per week per person. Isn&#8217;t that a bid much? Even if one in 10 bid requests is a win that&#8217;s still 3,000 requests, or 428 advertisements a day! On average, including babies, elderly people, people working, etc. Isn&#8217;t this number a bit steep?</p><p>Maybe you remember Dr Fou&#8217;s post in August 2024 as shown in Figure 1 [1]? This &#8220;bot attack&#8221; comprised of ~10,000 request to <a href="http://fouanalytics.com/">fouanalytics.com</a> claiming to originate from fake, though humoristic, Android apps. This bot attack wasn&#8217;t a real attack, it was an experiment where I wrote a program that fired HTTPS requests to https://fouanalytics.com while changing the Android appname by spoofing the x-requested-with HTTP header. And, yes, those app names were truly random generated.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T68h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T68h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 424w, https://substackcdn.com/image/fetch/$s_!T68h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 848w, https://substackcdn.com/image/fetch/$s_!T68h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 1272w, https://substackcdn.com/image/fetch/$s_!T68h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T68h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png" width="1456" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1060088,&quot;alt&quot;:&quot;Figure 1: \&quot;Bot attack\&quot; on fouanalytics . com showing randomly generated app names. Image taken from Dr Fou's post [1]&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 1: &quot;Bot attack&quot; on fouanalytics . com showing randomly generated app names. Image taken from Dr Fou's post [1]" title="Figure 1: &quot;Bot attack&quot; on fouanalytics . com showing randomly generated app names. Image taken from Dr Fou's post [1]" srcset="https://substackcdn.com/image/fetch/$s_!T68h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 424w, https://substackcdn.com/image/fetch/$s_!T68h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 848w, https://substackcdn.com/image/fetch/$s_!T68h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 1272w, https://substackcdn.com/image/fetch/$s_!T68h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa7be7f0-3770-4047-a72f-2f730ced747b_1511x1071.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1: "Bot attack" on fouanalytics . com showing randomly generated app names. Image taken from Dr Fou's post [1]</figcaption></figure></div><p></p><p>This article will explain the basics how I achieved this in laymans&#8217; terms. It gives you a better understanding of how easy it is to manipulate or generate HTTP requests. Your takeaway after reading this is to not blindly trust anything online. Especially when money is involved. And even more when lots of money is involved, like in the advertising ecosystem.</p><p>First, I&#8217;ll explain how requests look like and how to change HTTP headers in your own browser by intercepting the requests. This shows exactly what happens under the digital hood. The second part is doing the same programmatically using Python. This can be achieved with only a few lines of code and isn&#8217;t any magic. Let&#8217;s start with the manual one using a browser extension.</p><h2>Use browser and extension, such as Requestly</h2><p>What happens when a browser navigates to a website? The browser sends an initial request which contains the URL of the website, the path, and optionally a querystring and cookies. Using a browser extenstion this can be modified easily</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TIDr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TIDr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 424w, https://substackcdn.com/image/fetch/$s_!TIDr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 848w, https://substackcdn.com/image/fetch/$s_!TIDr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 1272w, https://substackcdn.com/image/fetch/$s_!TIDr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TIDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png" width="1221" height="496" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:496,&quot;width&quot;:1221,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:52637,&quot;alt&quot;:&quot;Figure 2: The rules to modify the HTTP request headers with the Requestly browser extension&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 2: The rules to modify the HTTP request headers with the Requestly browser extension" title="Figure 2: The rules to modify the HTTP request headers with the Requestly browser extension" srcset="https://substackcdn.com/image/fetch/$s_!TIDr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 424w, https://substackcdn.com/image/fetch/$s_!TIDr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 848w, https://substackcdn.com/image/fetch/$s_!TIDr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 1272w, https://substackcdn.com/image/fetch/$s_!TIDr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F988888a1-da42-493d-bca6-0b2e5a7c7770_1221x496.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2: The rules to modify the HTTP request headers with the Requestly browser extension</figcaption></figure></div><p>In Figure 2 can be seen that the a Chrome desktop browser&#8217;s User Agent is modified to an Android device, more specifically a Facebook App User Agent. It also adds the X-Requested-With HTTP header to make it appear a real App making the request. The Referer and Origin HTTP headers are set to </p><p>So, let&#8217;s see how traffic from/to https://www.fouanalytics.com looks like when these HTTP header modification rules are applied during live traffic. Figure 3 shows the network traffic to the main FouAnalytics site including the changed HTTP headers in blue. The HTTP headers starting with Sec-Ch-Ua still have their original values, making it obvious that the request has been tampered with.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l0b9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l0b9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 424w, https://substackcdn.com/image/fetch/$s_!l0b9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 848w, https://substackcdn.com/image/fetch/$s_!l0b9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 1272w, https://substackcdn.com/image/fetch/$s_!l0b9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l0b9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png" width="1456" height="799" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:799,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:328885,&quot;alt&quot;:&quot;Figure 3: Screenshot of www . fouanalytics . com where the in blue highlighted HTTP headers have been modified by Requestl&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 3: Screenshot of www . fouanalytics . com where the in blue highlighted HTTP headers have been modified by Requestl" title="Figure 3: Screenshot of www . fouanalytics . com where the in blue highlighted HTTP headers have been modified by Requestl" srcset="https://substackcdn.com/image/fetch/$s_!l0b9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 424w, https://substackcdn.com/image/fetch/$s_!l0b9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 848w, https://substackcdn.com/image/fetch/$s_!l0b9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 1272w, https://substackcdn.com/image/fetch/$s_!l0b9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b7fdd82-f0d6-4933-bd38-8c0fce6a8716_1920x1053.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3: Screenshot of www . fouanalytics . com where the in blue highlighted HTTP headers have been modified by Requestl</figcaption></figure></div><p>Modifying HTTP headers is changing only one piece of the total puzzle. It only gives control over the HTTP headers, but not over any low level networking layers (ie. network packets, TLS fingerprinting) and the data captured by the application layer in the browser using JavaScript. That requires more than just modifying HTTP traffic.</p><p>But, remember and realize: When you&#8217;re advertising in CTV no JavaScript detection can be run. So, if the only detection mechanism is the user agent and the reputation of the IP address you&#8217;re easily being conned.</p><p>Requestly is a great tool to explain and to show what really happens and how it happens. But, it doesn&#8217;t scale! Each ad impression only generates a few pennies at maximum. In order to generate enough money to live a luxury life with big houses, swimming pools, private jets, lazy river pool, luxury sports cars you need a LOT of impressions and clicks. Remember: 30 trillion bid requests per week! That's 30,000,000,000,000!</p><p>In a previous post the different types of fraud have been described: request based, browser automation and human operated [1]. Request based is the cheapest way to scale, because it has less overhead. Browser based is way more expensive as browsers allocate and need a lot of memory and CPU. Human operated click fraud is even more expensive. So, let&#8217;s quickly go to request based because there is where it happens.</p><h2>Use Python to automate HTTP requests</h2><p>As mentioned before, request based automation is lightweight in terms of using resources (CPU and memory). Everyting is command-line based, which means less overhead and thus you can run many instances concurrently.</p><p>Figure 4 contains the source code of a minimal Python program that fires HTTPS requests to web servers. These requests are generated out of thin air and contain everything needed to look legitimate at the HTTP level. As a reminder: HTTP requests consists of a method eg. GET, PUT, headers and a body [3].</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GjqV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GjqV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 424w, https://substackcdn.com/image/fetch/$s_!GjqV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 848w, https://substackcdn.com/image/fetch/$s_!GjqV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 1272w, https://substackcdn.com/image/fetch/$s_!GjqV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GjqV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png" width="1456" height="619" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:619,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GjqV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 424w, https://substackcdn.com/image/fetch/$s_!GjqV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 848w, https://substackcdn.com/image/fetch/$s_!GjqV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 1272w, https://substackcdn.com/image/fetch/$s_!GjqV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F942d090d-c307-462f-a145-64fbc5c67cb2_1585x674.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4: Python source code. The snippet shows the initialization of the variables and lists used to generate HTTP(S) requests.</figcaption></figure></div><p>The code in Figure 4 shows the loading of the wordlists ie. the nouns and adjectives (line 25-26), configuration of the HTTP request (line 28-36), the HTTP headers (line 49-62), the user agent (line 36), and the empty cookie (line 48).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PU_O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PU_O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 424w, https://substackcdn.com/image/fetch/$s_!PU_O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 848w, https://substackcdn.com/image/fetch/$s_!PU_O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 1272w, https://substackcdn.com/image/fetch/$s_!PU_O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PU_O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png" width="1456" height="483" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:483,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149466,&quot;alt&quot;:&quot;Figure 5: Python source code. The code snippet shows the generation of fake appnames and the generation, firing and logging of the HTTP(s) requests&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 5: Python source code. The code snippet shows the generation of fake appnames and the generation, firing and logging of the HTTP(s) requests" title="Figure 5: Python source code. The code snippet shows the generation of fake appnames and the generation, firing and logging of the HTTP(s) requests" srcset="https://substackcdn.com/image/fetch/$s_!PU_O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 424w, https://substackcdn.com/image/fetch/$s_!PU_O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 848w, https://substackcdn.com/image/fetch/$s_!PU_O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 1272w, https://substackcdn.com/image/fetch/$s_!PU_O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a1391f-71bf-4222-8307-aba47aab213b_1691x561.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 5: Python source code. The code snippet shows the generation of fake appnames and the generation, firing and logging of the HTTP(s) requests</figcaption></figure></div><p>The code in Figure 5 generates a list of 100 fake random Android appnames (line 74-82). At line 87 a loop starts. This loop picks a random name from the just generated appnames list, clears the HTTP headers dictionary, and starts to repopulate it with the headers from Figure 4 (lines 49-62). At line 94 the fake appname is added. At lines 95-96 the cookie is only added if it has any value. At line 97 the URL is constructured of the individual parts. At line 98 the request is fired based on this URL, the querystring parameters, the HTTP headers and a callback function which enables you to capture the response. Last line at 99 prints a logline with time, the HTTP status, method, URL, and the appname used.</p><p>This tiny Python script, less than 100 lines, is a boiled down version of the code I used early August. It shows exactly which steps to make in order to construct and fire requests programmatically. And: Yes, these requests don&#8217;t match a real Android&#8217;s webview TLS fingerprint, they don&#8217;t use a mix of residential and mobile proxies, and it loads only the main page of <a href="http://www.fouanalytics.com/">www.FouAnalytics.com</a>. But, if you know how to make code like this by yourself, you also know how to improve this and make it appear like the real thing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nhid!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nhid!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 424w, https://substackcdn.com/image/fetch/$s_!nhid!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 848w, https://substackcdn.com/image/fetch/$s_!nhid!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 1272w, https://substackcdn.com/image/fetch/$s_!nhid!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nhid!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png" width="1235" height="611" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:611,&quot;width&quot;:1235,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:203435,&quot;alt&quot;:&quot;Figure 6: The output of the Python script. The python command with script name are marked in orange. The output starts with an epoch time, the reported HTTP status, the method, the URL, and the used Android appname&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 6: The output of the Python script. The python command with script name are marked in orange. The output starts with an epoch time, the reported HTTP status, the method, the URL, and the used Android appname" title="Figure 6: The output of the Python script. The python command with script name are marked in orange. The output starts with an epoch time, the reported HTTP status, the method, the URL, and the used Android appname" srcset="https://substackcdn.com/image/fetch/$s_!nhid!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 424w, https://substackcdn.com/image/fetch/$s_!nhid!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 848w, https://substackcdn.com/image/fetch/$s_!nhid!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 1272w, https://substackcdn.com/image/fetch/$s_!nhid!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9078c7-2661-45a2-b501-7d552756ce9e_1235x611.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6: The output of the Python script. The python command with script name are marked in orange. The output starts with an epoch time, the reported HTTP status, the method, the URL, and the used Android appname</figcaption></figure></div><p>When the Python script is executed three times it generates the following output, see Figure 6. You can see in Figure 5 at line 99 how the output is generated and at each the end of the line are the generated appnames.</p><p>To answer the questions at the start of this article. Can a bot, in this case a python script, generate HTTP requests out of thin air, having a freely configurable: domain name, referrer, appname, user agent and HTTP headers with webview, payload, etc. : Yes, of course they can.</p><p>The last two questions: Can a bot generate a prebid request? Load the advertisement? Fire the completion pixels? By now you should have been convinced that this is perfectly possible. That also means that once perfected scaling a tech stack like this can be leveraged into making a lot of money. Guess who's indirectly paying for that? The advertisers... ? Nope: You! Because ad fraud means wasted money which is passed on their customers... you. This means less competitive pricing.</p><p>Finally, knowing what's technically feasible, the ridiculous amount of prebid requests, and who's paying for it, what can be reasonably done about this?</p><ul><li><p>Start measuring the quality of your ads, and the quality of visitors arriving at your landing pages [5].</p></li><li><p>Perform analytics to see where/ what/ when/ what causes low quality [6].</p></li></ul><p>Measuring and detecting ad fraud is the first step. Analytics the second. The third step is to look at your contracts and see whether you are eligible for refunds or credit traffic in case of fraud, if not then make sure it's included when renewing them. The operational step is to manage the traffic quality and mitigate its impact.</p><p>If you have any questions, would like to improve your digital marketing results, suggestions or specific requests feel to connect, comment or DM.</p><p>#adfraud #bots #CMO #digitalmarketing #browserautomation #python #analytics</p><p>[1] <a href="https://www.linkedin.com/posts/augustinefou_another-bot-attack-on-my-site-last-time-activity-7229601769884954625-UEC6">https://www.linkedin.com/posts/augustinefou_another-bot-attack-on-my-site-last-time-activity-7229601769884954625-UEC6</a>?</p><p>[2] <a href="https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Common_non-standard_request_fields">https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Common_non-standard_request_fields</a></p><p>[3] <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages">https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages</a></p><p>[4] <a href="https://www.linkedin.com/pulse/why-60-digital-ad-spending-going-mobile-apps-bad-thing-fou-bwbie/">https://www.linkedin.com/pulse/why-60-digital-ad-spending-going-mobile-apps-bad-thing-fou-bwbie/</a></p><p>[5] <a href="https://www.linkedin.com/posts/kouwenhovensander_adfraud-bots-cmo-activity-7245048677835186178-c6vk">https://www.linkedin.com/posts/kouwenhovensander_adfraud-bots-cmo-activity-7245048677835186178-c6vk</a></p><p>[6] <a href="https://www.linkedin.com/posts/kouwenhovensander_adfraud-bots-cmo-activity-7247590450545455105-Wa3L">https://www.linkedin.com/posts/kouwenhovensander_adfraud-bots-cmo-activity-7247590450545455105-Wa3L</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Part 2 of Foundations of Fighting Ad-Fraud - Analytics]]></title><description><![CDATA[Ad fraud.]]></description><link>https://news.oxford-biochron.com/p/part-2-of-foundations-of-fighting</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/part-2-of-foundations-of-fighting</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 11 Oct 2024 15:32:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DsEp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DsEp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DsEp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DsEp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DsEp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DsEp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DsEp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191378,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DsEp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DsEp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DsEp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DsEp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff386d2b7-522d-4218-a364-27281de05c05_1280x720.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ad fraud. A problem ignored by many in the digital advertising ecosystem. Why? Because they make more profit when the problem persists. They are not interested in delivering their clients quality visitors, but invoicing as much as possible is what matters.</p><p>Ad-fraud thrives in places where checks and balances cannot be made easily because of the fragmented and distributed nature of the ecosystem.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>Financial ad-fraud</strong></p><p>One form of fraud is that the reported number of placed advertisement doesn't match reality. The problem of the advertiser is that they can't check every placed advertisement. The result will be an invoice that's 20% too high. Is the advertiser able to check that the reported number and the invoice based on that number has been inflated with 20%? No! Not without detailed per line item logfiles and its analysis.</p><p>Another fraud form is: Did the placed advertisements meet the configured constraints and expectations? Like adhering the min max thresholds of bidprices? Is the advertiser able to check this? No! Not without detailed per line item logfiles and its analysis.</p><p>MFA (Made for Advertising) sites are fraudulent because they don't meet the advertiser's expectations and minimum standards. Reporting traffic generated at MFA sites as premium URLs is: fraudulent.</p><p><strong>Ad-fraud carried out by tech</strong></p><p>Besides these forms of inflating numbers or inflating quality which fit financial fraud there's also technical fraud. This type of fraud happens because fraudsters play the ecosystem using advanced technology. The name of this advanced technology is: Bots, or browser automation. The different technical types are described this article 'How does bot and human operated fraud work?' [1]. The previous article in this series described how these can be detected [2]. This article will continue on the previous one by analyzing at the detection results by breaking it down into many different segments.</p><p>Ad fraud detection enables advertisers to determine the good players and bad players. But, ad fraud detection on its own isn&#8217;t actionable. The output of the fraud detection needs to be broken down by domain, appname. These two are the obvious pivots and enable you to know which domain or app attracts bot traffic to cheat.</p><p><strong>Technical fraud hides in averages</strong></p><p>Fraud hides in averages. If you run a multimillion dollar campaign and one of your traffic sources contains a high level of fraud it is invisible when you only look at averages. The answer to this lies in analytics. Breaking down the data and using analytics enables you to find fraud patterns in the data.</p><h2>Ad fraud Analytics</h2><p>The first step in analytics is data exploration. You know fraud hides somewhere, but you don&#8217;t know where because the fraud is hidden in averages. Breaking down the data into segments (source, campaign, country, publisher, ISP, etc) enables you to see which one contains more fraud than others. The only problem with this method is: It takes a lot of time to find the exact segment and the value that contains the fraud.</p><h3>Analytics: Treeview Examples</h3><p>Since you don&#8217;t know upfront where fraud appears and what its common denominator is you need to start looking at the big picture where you can see all data at once. An efficient way to efficiently look at all data and its fraud is to show the data as a treeview. The treeview shows all data, but broken down to a segment of choice. Each segment is again broken down to human/fraud showing which segment has almost no fraud or a lot of fraud. For example, Figure 1 shows all traffic arriving at a landing page. The visits are broken down to the traffic sources (anonymized in the figure below). Each source has a different fraud level and this single treeview shows them all, sized relative to each other. Human visits are blue and fraudulent visits are toned red. The difference between the red tones is where the fraud has been detected at the request (dark red is request based fraud) or using JavaScript (lighter red).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sX_q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sX_q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 424w, https://substackcdn.com/image/fetch/$s_!sX_q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 848w, https://substackcdn.com/image/fetch/$s_!sX_q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 1272w, https://substackcdn.com/image/fetch/$s_!sX_q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sX_q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png" width="1253" height="799" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:799,&quot;width&quot;:1253,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;This image represents the total volume. The boxes represent different sources (anonymized in this screenshot). Each with a different amount of traffic and a different level of fraud.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="This image represents the total volume. The boxes represent different sources (anonymized in this screenshot). Each with a different amount of traffic and a different level of fraud." title="This image represents the total volume. The boxes represent different sources (anonymized in this screenshot). Each with a different amount of traffic and a different level of fraud." srcset="https://substackcdn.com/image/fetch/$s_!sX_q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 424w, https://substackcdn.com/image/fetch/$s_!sX_q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 848w, https://substackcdn.com/image/fetch/$s_!sX_q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 1272w, https://substackcdn.com/image/fetch/$s_!sX_q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b5bb5a3-a17d-4b93-9ff2-ceec5b172592_1253x799.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. This image represents the total traffic volume. Each box represent a different source (anonymized in this screenshot). Each source is again broken down to human (blue tones) and fraud (red tones).</figcaption></figure></div><p>Figure 1 shows that the three largest paid sources have 11.4%, 12.1% and 9.6% fraud. But it also shows that smaller sources have 37%, 54% and more than 70% fraud. Looking only at the total average would have made these smalles ones invisible as the 3 largest paid sources dont have much fraud and represent ~35% of the total paid volume.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Sena!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Sena!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 424w, https://substackcdn.com/image/fetch/$s_!Sena!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 848w, https://substackcdn.com/image/fetch/$s_!Sena!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 1272w, https://substackcdn.com/image/fetch/$s_!Sena!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Sena!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png" width="1248" height="799" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:799,&quot;width&quot;:1248,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Tree view of the human/fraud data of the traffic broken down to human/fraud% per US state&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Tree view of the human/fraud data of the traffic broken down to human/fraud% per US state" title="Tree view of the human/fraud data of the traffic broken down to human/fraud% per US state" srcset="https://substackcdn.com/image/fetch/$s_!Sena!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 424w, https://substackcdn.com/image/fetch/$s_!Sena!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 848w, https://substackcdn.com/image/fetch/$s_!Sena!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 1272w, https://substackcdn.com/image/fetch/$s_!Sena!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcca90961-d075-43e6-ba8b-a79277382e8a_1248x799.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. This image represents the total US traffic. Tree view of the traffic broken down to human / fraud per US state</figcaption></figure></div><p>Breaking down the data into states shows where your audience physically resides. This should match your targeting. It also shows where fraud enters the Internet. In Figure 2 can be seen that the state with the largest fraud% is California. This doesn&#8217;t tell you much on its own, so we&#8217;ll zoom in to the city level.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!om6t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!om6t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 424w, https://substackcdn.com/image/fetch/$s_!om6t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 848w, https://substackcdn.com/image/fetch/$s_!om6t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 1272w, https://substackcdn.com/image/fetch/$s_!om6t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!om6t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png" width="1257" height="802" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:802,&quot;width&quot;:1257,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Treeview of the traffic broken down to US city and again broken down to human / fraud .&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Treeview of the traffic broken down to US city and again broken down to human / fraud ." title="Treeview of the traffic broken down to US city and again broken down to human / fraud ." srcset="https://substackcdn.com/image/fetch/$s_!om6t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 424w, https://substackcdn.com/image/fetch/$s_!om6t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 848w, https://substackcdn.com/image/fetch/$s_!om6t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 1272w, https://substackcdn.com/image/fetch/$s_!om6t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4eddcde-f461-45a0-8c2a-3312169c4426_1257x802.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. This image represents the total US traffic. Tree view of the traffic broken down to human / fraud per city</figcaption></figure></div><p>Figure 3 shows in the right lower corner that Mountain View (CA) has 90+% fraud and represents ~1/3rd of the total fraud in CA. Although this is good information, city as a pivot has some disadvantages: There are too many small cities (the long tail of cities) and as you can see in Figure 3 the left side of the chart isn&#8217;t readable in the overview. Although you can zoom and labels will become visible, it is just too much.</p><p>Back to Mountain View (CA). Why does it have so much fraud? It&#8217;s because a Google Data Center is located over there. This confirms that data center traffic equals bot traffic, which makes perfectly sense. Who lives and browses the Internet from a data center legitimately? Maybe those 2 or 3 individual working in the operations room? Anything else would be VPN traffic, proxy servers, and bots running in those data centers.</p><p>To see how fraud is distributed over different ISPs, let&#8217;s take a look at Figure 4. This animated GIF zooms in to both Google and Amazon data centers. You can clearly see that almost all traffic from these IP ranges is fraud. Blocking data center IP ranges in you ad infrastructure is a good and cheap way of preventing bots to bid and load your advertisement. Once data centers are excluded bots need to use residential proxies at an extra cost, it adds complexity, the proxies might be detected as fraudulent, and thus affecting their profit margin.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lwvD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lwvD!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 424w, https://substackcdn.com/image/fetch/$s_!lwvD!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 848w, https://substackcdn.com/image/fetch/$s_!lwvD!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 1272w, https://substackcdn.com/image/fetch/$s_!lwvD!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lwvD!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif" width="1093" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1093,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Animated GIF to show zooming in / out a treeview with details of a client's traffic broken down to human/fraud per ISP. As can be seen in the details when zooming in: Google and Amazon data center traffic is completely fraudulent.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Animated GIF to show zooming in / out a treeview with details of a client's traffic broken down to human/fraud per ISP. As can be seen in the details when zooming in: Google and Amazon data center traffic is completely fraudulent." title="Animated GIF to show zooming in / out a treeview with details of a client's traffic broken down to human/fraud per ISP. As can be seen in the details when zooming in: Google and Amazon data center traffic is completely fraudulent." srcset="https://substackcdn.com/image/fetch/$s_!lwvD!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 424w, https://substackcdn.com/image/fetch/$s_!lwvD!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 848w, https://substackcdn.com/image/fetch/$s_!lwvD!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 1272w, https://substackcdn.com/image/fetch/$s_!lwvD!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff46c648d-7b54-4cf8-b035-e6892adb472a_1093x720.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. Animated GIF to show zooming in / out a treeview with details of a client's traffic broken down to human/fraud per ISP. As can be seen in the details when zooming in: Google and Amazon data center traffic is completely fraudulent.</figcaption></figure></div><p>But, what about other added value of breaking down human/ fraud per location or ISP? You could see whether your intended geo-targetting is correct, and you pay for visitors from other countries, or states or even cities. If you target desktop, you don't expect mobile gateways to be used. Secondly, you would be able to see whether fraud originates from a single location outside data centers or new IP ranges recently bought by a data center.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JnyB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JnyB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 424w, https://substackcdn.com/image/fetch/$s_!JnyB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 848w, https://substackcdn.com/image/fetch/$s_!JnyB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 1272w, https://substackcdn.com/image/fetch/$s_!JnyB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JnyB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png" width="1237" height="796" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:796,&quot;width&quot;:1237,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Treeview of traffic originating from Andoird apps broken down per appname and again to human / fraud data.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Treeview of traffic originating from Andoird apps broken down per appname and again to human / fraud data." title="Treeview of traffic originating from Andoird apps broken down per appname and again to human / fraud data." srcset="https://substackcdn.com/image/fetch/$s_!JnyB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 424w, https://substackcdn.com/image/fetch/$s_!JnyB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 848w, https://substackcdn.com/image/fetch/$s_!JnyB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 1272w, https://substackcdn.com/image/fetch/$s_!JnyB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2ededf-f814-40fd-ad26-853f105222a0_1237x796.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 5. Treeview of traffic originating from Andoird apps broken down per appname and again to human / fraud data. 5 poor performing apps are highlighted with pink circles.</figcaption></figure></div><p>In Figure 5 the same traffic is broken down into appname (Android). The two largest apps in volume don&#8217;t have that much fraud, although it would be interesting to see why their percentages differ so much (7.8% newsbreak vs 14.3% facebook).</p><p>But, take a look at some of the smaller apps. Those apps have more than 50% fraud, some even 75%. These are the typical apps you want to take a look at and ask yourself: Do I really want to pay for this? Does thise apps really bring new business? Also take a look at that long tail of apps, the left part of the image with all those small rectangles. Although they don&#8217;t bring that much traffic, some of those are 100% fraud. Those are the typical &#8216;non-existing&#8217; apps, with fake app names. Together this long tail of apps ( &lt; 0.5% per App) generates 8.3% of the volume, with ~14% fraud. And, yes, this is data from a client that has been continuously optimizing their traffic quality.</p><h3>Analytics: Time series examples</h3><p>The treeview is an excellent way to get a quick overview of what happens, but doesn&#8217;t show you the time component of a campaign. You know when you start a campaign, which channel you use, what you have whitelisted (domains and apps) and/or blacklisted (data center Ips), etc. You also know when changes were made and you want to see the effects of those changes as time progresses.</p><p>The charts below have the same colorcoding as the previous figures, and they are based on the same data, except the time range. Each bar represent a full day, which smooths things out and shows the bigger trend only.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rq9y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rq9y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 424w, https://substackcdn.com/image/fetch/$s_!Rq9y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 848w, https://substackcdn.com/image/fetch/$s_!Rq9y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 1272w, https://substackcdn.com/image/fetch/$s_!Rq9y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rq9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png" width="1280" height="923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:923,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeframe: Daily. Two different sources with two different fraud patterns. The bottom one has a consistent level of fraud at ~40% even when the volume (in green) goes down. Red = fraud, Blue = human. Client and source are both anonymized.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeframe: Daily. Two different sources with two different fraud patterns. The bottom one has a consistent level of fraud at ~40% even when the volume (in green) goes down. Red = fraud, Blue = human. Client and source are both anonymized." title="Timeframe: Daily. Two different sources with two different fraud patterns. The bottom one has a consistent level of fraud at ~40% even when the volume (in green) goes down. Red = fraud, Blue = human. Client and source are both anonymized." srcset="https://substackcdn.com/image/fetch/$s_!Rq9y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 424w, https://substackcdn.com/image/fetch/$s_!Rq9y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 848w, https://substackcdn.com/image/fetch/$s_!Rq9y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 1272w, https://substackcdn.com/image/fetch/$s_!Rq9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe241f3e1-1747-412d-8a8b-55e66ccd1f83_1280x923.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6. Timeframe: Daily. Two different sources with two different fraud patterns. The bottom one has a consistent level of fraud at ~40% even when the volume (in green) goes down.</figcaption></figure></div><p>Figure 1 shows the aggregated results for all sources including the two sources in Figure 6. What can&#8217;t be seen in figure 1 is how things progress over time and behave at different volumes. The bottom chart in Figure 6 shows that this source miraculously has 40% fraud at any volume. To me this looks like a configured percentage or lever which sets the percentage of cheap (bot)traffic mixed with real traffic.</p><p>The treeview containing the US states showed that California did have a lot of fraud. How does this look when plotting the data as a time series in a chart. Figure 7 shows the Californian traffic. It shows that when the volume goes down the fraud% temporarily goes up.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yHf3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yHf3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 424w, https://substackcdn.com/image/fetch/$s_!yHf3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 848w, https://substackcdn.com/image/fetch/$s_!yHf3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 1272w, https://substackcdn.com/image/fetch/$s_!yHf3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yHf3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png" width="1280" height="462" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:462,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeframe: Daily. This chart shows the human/fraud levels originating from California&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeframe: Daily. This chart shows the human/fraud levels originating from California" title="Timeframe: Daily. This chart shows the human/fraud levels originating from California" srcset="https://substackcdn.com/image/fetch/$s_!yHf3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 424w, https://substackcdn.com/image/fetch/$s_!yHf3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 848w, https://substackcdn.com/image/fetch/$s_!yHf3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 1272w, https://substackcdn.com/image/fetch/$s_!yHf3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb8662f0-8f69-4c5d-bb4b-1993286ace3a_1280x462.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 7. Timeframe: Daily. This chart shows the human/fraud levels originating from California</figcaption></figure></div><p>In Figure 2 the treeview of the states shows that California has a high percentage of fraud, compared to its peers having the same traffic volume. Florida another state with a big volume has a much lower fraud percentage, see Figure 8. So, how do these two compare? Again you can clearly see that the volume decreases around the same date. This time the fraud temporarily goes up a tiny bit, but then goes down to a low level without spikes or other high fraud days. Looking at other states will reveal that states with huge (relatively cheap) data centers were responsible for this temporary increase.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h9t2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h9t2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 424w, https://substackcdn.com/image/fetch/$s_!h9t2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 848w, https://substackcdn.com/image/fetch/$s_!h9t2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 1272w, https://substackcdn.com/image/fetch/$s_!h9t2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h9t2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png" width="1280" height="460" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeframe: Daily. This chart shows the human/fraud levels originating from Florida&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeframe: Daily. This chart shows the human/fraud levels originating from Florida" title="Timeframe: Daily. This chart shows the human/fraud levels originating from Florida" srcset="https://substackcdn.com/image/fetch/$s_!h9t2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 424w, https://substackcdn.com/image/fetch/$s_!h9t2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 848w, https://substackcdn.com/image/fetch/$s_!h9t2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 1272w, https://substackcdn.com/image/fetch/$s_!h9t2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcebeaa4-6780-47f5-ade6-3507257addd9_1280x460.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 8. Timeframe: Daily. This chart shows the human/fraud levels originating from Florida. Red = fraud, blue = human, at the bottom chart green = volume bars</figcaption></figure></div><p>Finally, we&#8217;ll take a look at how traffic from Android apps looks like. Figure 5 shows a treeview where you can compare all Android apps to each other, both in volume and in fraud levels per app. But, how does an app look when looking at fraud levels over time in a timeseries. This can be seen in Figure 9, Figure 10, and Figure 11.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BlhE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BlhE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 424w, https://substackcdn.com/image/fetch/$s_!BlhE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 848w, https://substackcdn.com/image/fetch/$s_!BlhE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 1272w, https://substackcdn.com/image/fetch/$s_!BlhE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BlhE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png" width="1280" height="460" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.particlenews.newsbreak\nClient name = anonymized, red = fraud, blue = human, green = volume&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.particlenews.newsbreak
Client name = anonymized, red = fraud, blue = human, green = volume" title="Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.particlenews.newsbreak
Client name = anonymized, red = fraud, blue = human, green = volume" srcset="https://substackcdn.com/image/fetch/$s_!BlhE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 424w, https://substackcdn.com/image/fetch/$s_!BlhE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 848w, https://substackcdn.com/image/fetch/$s_!BlhE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 1272w, https://substackcdn.com/image/fetch/$s_!BlhE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df28bb8-9ee0-45f7-a825-943d8edd7e55_1280x460.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 9. Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.particlenews.newsbreak. Red = fraud, blue = human, at the bottom chart green = volume bars</figcaption></figure></div><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yS1s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yS1s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 424w, https://substackcdn.com/image/fetch/$s_!yS1s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 848w, https://substackcdn.com/image/fetch/$s_!yS1s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 1272w, https://substackcdn.com/image/fetch/$s_!yS1s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yS1s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png" width="1280" height="460" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.facebook.katana. Red = fraud, blue = human, at the bottom chart green = volume bars&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.facebook.katana. Red = fraud, blue = human, at the bottom chart green = volume bars" title="Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.facebook.katana. Red = fraud, blue = human, at the bottom chart green = volume bars" srcset="https://substackcdn.com/image/fetch/$s_!yS1s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 424w, https://substackcdn.com/image/fetch/$s_!yS1s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 848w, https://substackcdn.com/image/fetch/$s_!yS1s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 1272w, https://substackcdn.com/image/fetch/$s_!yS1s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc7d37c4-3c30-45ee-baf0-b495d0a3fd23_1280x460.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 10. Timeframe: Daily. This chart shows the human/fraud levels originating from the Android app com.facebook.katana. Red = fraud, blue = human, at the bottom chart green = volume bars</figcaption></figure></div><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1qr5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1qr5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 424w, https://substackcdn.com/image/fetch/$s_!1qr5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 848w, https://substackcdn.com/image/fetch/$s_!1qr5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 1272w, https://substackcdn.com/image/fetch/$s_!1qr5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1qr5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png" width="1280" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeframe: Daily. This chart shows the human/fraud levels originating from the Android apps com.instagram.android and com.instabridge.android. Red = fraud, blue = human, in the subcharts green = volume&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeframe: Daily. This chart shows the human/fraud levels originating from the Android apps com.instagram.android and com.instabridge.android. Red = fraud, blue = human, in the subcharts green = volume" title="Timeframe: Daily. This chart shows the human/fraud levels originating from the Android apps com.instagram.android and com.instabridge.android. Red = fraud, blue = human, in the subcharts green = volume" srcset="https://substackcdn.com/image/fetch/$s_!1qr5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 424w, https://substackcdn.com/image/fetch/$s_!1qr5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 848w, https://substackcdn.com/image/fetch/$s_!1qr5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 1272w, https://substackcdn.com/image/fetch/$s_!1qr5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eeca83f-b300-46ef-ab57-64f41c2518aa_1280x920.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 11. Timeframe: Daily. This chart shows the human/fraud levels originating from the Android apps</figcaption></figure></div><p>Let&#8217;s compare the results of the four apps above in the figures 9, 10 and 11. Looking at Figure 5 you can see the relative sizes per app. Newsbreak is the largest one in traffic size per app. Newsbreak is the largest one in traffic size <a href="https://play.google.com/store/apps/details?id=com.particlenews.newsbreak">com.particlenews.newsbreak</a>. Second is Facebook&#8217;s <a href="https://play.google.com/store/apps/details?id=com.facebook.katana">com.facebook.katana</a>. Other Meta/ Facebook apps are com.facebook.lite and com.facebook.orca which are ranked separately in the treeview. Third place in size is Instagram&#8217;s app <a href="http://com.instagram.android/">com.instagram.android</a>. An app with a high percentage of fraud is: <a href="http://com.instabridge.android/">com.instabridge.android</a>.</p><p>The first three are well known apps, but the fourth one instabridge isn&#8217;t something normal users know, at least I didn't know it and I checked it with some colleagues and friends. So, let&#8217;s zoom in what this app really is. Figure 12 shows the apps&#8217; information in the app store, the yellow highligted line below says it all: &#8220;The Wifi Hunt is over! Fast and Secure Public WiFi Map at no charge&#8221;. Perfect for fraudsters needing a temporary new IP address to commit fraud as long as it works. And.. free of charge! OK, apparently some ads do appear otherwise where does this app traffic come from?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w1EZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w1EZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 424w, https://substackcdn.com/image/fetch/$s_!w1EZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 848w, https://substackcdn.com/image/fetch/$s_!w1EZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!w1EZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w1EZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png" width="1072" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1072,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Figure 12. The Android app com.instabridge.android connects your phone to WiFi points while on the go. It has: 100M+ downloads&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 12. The Android app com.instabridge.android connects your phone to WiFi points while on the go. It has: 100M+ downloads" title="Figure 12. The Android app com.instabridge.android connects your phone to WiFi points while on the go. It has: 100M+ downloads" srcset="https://substackcdn.com/image/fetch/$s_!w1EZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 424w, https://substackcdn.com/image/fetch/$s_!w1EZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 848w, https://substackcdn.com/image/fetch/$s_!w1EZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!w1EZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06cc2142-3ca9-41ed-8eaa-fae8d4159d89_1072x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 12. The Android app Instabridge connects your phone to WiFi points while on the go. It has: 100M+ downloads</figcaption></figure></div><p>Fraudsters love &#8220;free&#8221; and they even love it more if it is a shared IP address which means also legitimate traffic will originate from the same IP address and/or range. Also, WiFi with a direct connection is faster with a lower latency than using the mobile network or residential proxy servers or a combination. The devices with shady (free) VPN apps that also work as VPN endpoints using these WiFi points will help fraudsters as well. And once it doesn&#8217;t work anymore you just move on. Exactly the ingredients fraudsters love.</p><p>Let&#8217;s take a look again at the bottom chart in Figure 11 which has ~75% fraud. This app, and all other free VPN, free internet connection sharing, and apps with a hidden builtin VPN or proxies without the user knowing are prone to high levels of fraud. The first question you should ask: Does my intended audience use this app? That means the typical users of these apps are freeloaders and only install apps to save some pennies. If you&#8217;re Temu, Shein or Aliexpress, then I agree this is your audience! But, if you&#8217;re targetting people to sell car insurance, luxury vacations, hearing aids, designer bags, high-quality make-up, skincare and fragrance or just even brand awareness of these products then also agree that the remaining ~25% humans using this app won't fit your ideal customer profile.</p><p>Blacklisting these apps might be your first thought, but it takes a week or maybe a month, and they just reappear using a different name. That&#8217;s why whitelisting is so much better. Only allow your ads to be shown in the apps you selected. But, do you fear you're missing new apps? Run an A/B test with a small portion of your volume without any black or white lists and see how apps, domains, data centers, etc. perform. If they perform well you can scale up and monitor whether they continue to perform. Rinse and repeat.</p><h2>Quality of ad-fraud detection is key</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dQeN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dQeN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 424w, https://substackcdn.com/image/fetch/$s_!dQeN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 848w, https://substackcdn.com/image/fetch/$s_!dQeN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 1272w, https://substackcdn.com/image/fetch/$s_!dQeN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dQeN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png" width="1280" height="372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3834601-b8fd-41be-8629-a1d460ced776_1280x372.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:372,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image with text: inferior ad-fraud detection * good analytics = inferior results&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image with text: inferior ad-fraud detection * good analytics = inferior results" title="Image with text: inferior ad-fraud detection * good analytics = inferior results" srcset="https://substackcdn.com/image/fetch/$s_!dQeN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 424w, https://substackcdn.com/image/fetch/$s_!dQeN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 848w, https://substackcdn.com/image/fetch/$s_!dQeN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 1272w, https://substackcdn.com/image/fetch/$s_!dQeN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3834601-b8fd-41be-8629-a1d460ced776_1280x372.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 13. inferior ad-fraud detection * good analytics = inferior results</figcaption></figure></div><p>One of the key factors to be successful in continuous optimizing your ad spend, campaigns, budget allocation, etc. is the quality of the ad-fraud detection. It doesn&#8217;t matter how great or sophisticated the analytics is. GIGO (garbage in = garbage out) will ruin your results. Flagging humans as fraud will cost you business, missing real fraud also hurts your business. And making the wrong decisions based on faulty input is killing your business!</p><ul><li><p>The collected data is not directly related to browser automation</p></li><li><p>The collected data can easily be spoofed at the client side</p></li><li><p>The communication from browser to the back-end is not well protected</p></li></ul><p>When that&#8217;s the case, and that&#8217;s <strong>way more often</strong> than you might think, can you really trust the collected data? And subsequently the fraud detection engine processing this &#8220;faked&#8221; data? And subsequently trust the analytics breaking down human/fraud data and displaying It in fancy garbage charts? If there&#8217;s a lot of money involved (potentially millions to billions) which can easy be siphoned by fraudsters they will don&#8217;t easily give up and continue to hire experts in making bots and other fraud schemes. Your detection company needs to counter that with expertise in the fields of making bots, cyber-security, reverse engineering, analytics. This means fraud detection ideally is: a company with security experts providing a service in the marketing ecosystem, and not the other way around. Because the latter scenario is something we all know as: enshittification [3].</p><h2>Conclusion</h2><p>Fraud hides in averages. In order to identify fraud you'll need to look at the fraud detection data from various angles and/or by slicing the data into logical groups. This can be achieved using: analytics. This article has shown how analytics can be applied to reveal fraud, using real data with many examples. Looking at those charts and subcharts enabled you to see that some domains/ apps/ utm_sources/ etc were cheating and some others performed better than average.</p><ul><li><p>Adopt: Use quality ad-fraud detection. Hint: <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics</a></p></li><li><p>Adapt: Adapt your digital spend according the outcome of the ad-fraud analytics</p></li><li><p>Improve: Over time improve your results by readapting whenever possible</p></li></ul><p>Feel free to contact me if you&#8217;re having doubts about the quality of your current fraud detection vendor and want to run a side-by-side test to compare results.</p><p>Corrections? Suggestions? Questions? Feel free to connect, comment or DM</p><p>#adfraud #bots #CMO #digitalmarketing #browserautomation #clickfraud #analytics #CFO #CRO</p><p>[1] <a href="https://www.linkedin.com/posts/kouwenhovensander_taylorswift-adfraud-adfraud-activity-7199384350369431552-t8EZ">https://www.linkedin.com/posts/kouwenhovensander_taylorswift-adfraud-adfraud-activity-7199384350369431552-t8EZ</a></p><p>[2] <a href="https://www.linkedin.com/posts/kouwenhovensander_adfraud-bots-cmo-activity-7245048677835186178-c6vk">https://www.linkedin.com/posts/kouwenhovensander_adfraud-bots-cmo-activity-7245048677835186178-c6vk</a></p><p>[3] <a href="https://www.linkedin.com/posts/kouwenhovensander_why-has-digital-marketing-become-enshittified-activity-7105194909032140801-jB0O">https://www.linkedin.com/posts/kouwenhovensander_why-has-digital-marketing-become-enshittified-activity-7105194909032140801-jB0O</a></p><p>[4] Adopt, adapt and improve as speeched by Prince of Wales - Britain's best 'Ambassador of Trade' - at British Industries' Fair. : </p><blockquote><div id="youtube2-Qa6T7HjktDg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Qa6T7HjktDg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Qa6T7HjktDg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></blockquote><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Foundations of Fighting Ad Fraud]]></title><description><![CDATA[Part I]]></description><link>https://news.oxford-biochron.com/p/foundations-of-fighting-ad-fraud</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/foundations-of-fighting-ad-fraud</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Thu, 03 Oct 2024 15:11:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WcbI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WcbI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WcbI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!WcbI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!WcbI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!WcbI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WcbI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:212380,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WcbI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!WcbI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!WcbI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!WcbI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf2d7ef6-6547-402a-bf42-5ffc787bb9f3_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Schematic overview of how fighting ad fraud is implemented at Oxford BioChronometrics.</figcaption></figure></div><p></p><p>Ad fraud. Collectively costing the industry billions/ year, and apparently nobody gives a sh*t. The self-proclaimed and self-certified &#8216;defenders of the ecosystem&#8217; continuously under-report the problem to the extent of willful ignorance. That makes one wonder: Why? Who profits from this? Where do these billions converge to? And what can be done about this?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>A few weeks ago I read a LinkedIn post by <a href="https://www.linkedin.com/in/officialjohnjames/">John James</a> and he referred to WSJ columnist&#8217;s Jason Zweig&#8217;s three-part rule [15]:</p><p>There are three ways to make a living:</p><ol><li><p><strong>Lie to people who want to be lied to, and you&#8217;ll get rich.</strong></p></li><li><p><strong>Tell the truth to those who want the truth, and you&#8217;ll make a living.</strong></p></li><li><p><strong>Tell the truth to those who want to be lied to, and you&#8217;ll go broke.</strong></p></li></ol><p>Certain ad fraud verification companies would clearly fit the 1st category. Those companies &#8220;detecting and verifying&#8221; fraud supposedly can&#8217;t tell you how they do it, because disclosing their secrets would help fraudsters to improve. But, they do send their verification JavaScript to millions of devices, including fraudsters! How does that rhyme? Anyone able to reverse engineer their JavaScript (and that ain&#8217;t so hard) knows exactly what data they are collecting to determine fraud. Fraudsters know how to reverse engineer, or hire someone who knows how to. Fraudsters know what data is relevant to detect fraud and actively try to counter it.</p><p>Companies hiring fraud verification companies are <strong>not</strong> IT security companies who can do their own pentesting or code analysis. These companies are large companies (S&amp;P 500) that advertise digitally to promote their products or services across various channels: CTV, programmatic, PPC, social media, email, etc. Apparently, they blindly trust these verification companies. Based on the allegedly percentage of detected fraud, ie. reported is &lt; 1%, one would wonder why they do even verify their digital spends. If there isn&#8217;t a big problem, why spend so much money on it? Is it just to check the checkbox in order to be able to claim: We are compliant? If so, that&#8217;s probably that company&#8217;s most expensive checkbox.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JmCh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JmCh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 424w, https://substackcdn.com/image/fetch/$s_!JmCh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 848w, https://substackcdn.com/image/fetch/$s_!JmCh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 1272w, https://substackcdn.com/image/fetch/$s_!JmCh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JmCh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png" width="656" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:656,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Baghdad Bob claims that there are no bots nor ad fraud in digital marketing&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Baghdad Bob claims that there are no bots nor ad fraud in digital marketing" title="Baghdad Bob claims that there are no bots nor ad fraud in digital marketing" srcset="https://substackcdn.com/image/fetch/$s_!JmCh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 424w, https://substackcdn.com/image/fetch/$s_!JmCh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 848w, https://substackcdn.com/image/fetch/$s_!JmCh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 1272w, https://substackcdn.com/image/fetch/$s_!JmCh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F751f276f-1fe3-439b-8206-c179f7fcdbd3_656x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. Baghdad Bob claiming no bots nor ad fraud is present in digital marketing.</figcaption></figure></div><p>The opposite of &#8216;ignorance is bliss&#8217; is: Knowledge is power. Having knowledge means being in control. The majority of people working in the digital marketing ecosystem don&#8217;t have a master in computer science. Hence, they don&#8217;t fully understand what is technically possible, feasible, tell the difference between a poor and a good quality ad fraud verification solution, are easily intimidated with technical terms. Unable to ask the right questions, and without having sound knowledge to see through false promises, makes you indeed the party being lied to of the 1st way to make a living.</p><p>Now, you might think: &#8220;Whatever...&#8221; or &#8220;Who cares? That&#8217;s the price of doing business, as long as I reach my audience.&#8221; But, there are more important things than you reaching your audience. For example, elections. According eMarketer the total US political ad spending will hit $12.32 billion in 2024, up nearly 29% from the prior presidential election in 2020 [16]. Burning only one party&#8217;s budget using a botnet preventing to reach humans does make a difference in swing states. And I&#8217;m sure that you don&#8217;t want your digital marketing budget being spent on funding fake news websites, misinformation in order to change the outcome of elections, indirectly fund bad regimes, or just spend on anything else than your campaign goals.</p><p>So, how will this blog series help you? By trying to explain and educate you on the foundations of fraud detection. What types of detections exist, what is possible to achieve and what is not possible. It will show you real scenarios with real output. You don&#8217;t have to fully 100% understand everything as long as you know whom to invite to ask these questions during your fraud detection vendor selection process once your contract expires or you&#8217;re not satisfied with the current one and you&#8217;re going to select a new vendor.</p><p>You might think that this post would also educate fraudsters. Yes, maybe the script-kiddies, or students. But, rest assured, the professionals already know the content of this blog by heart. It&#8217;s their living.</p><p><a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>focuses on detecting fraud in lead generation based on human interactional behavioral analysis, but that doesn&#8217;t mean we&#8217;re not able to detect ad fraud. That&#8217;s why this blog describes all fraud detection mechanisms from top to bottom of the marketing funnel. It starts with pre-bid, impressions and video ads where tracking pixels are used. Subsequently, two distinct classes of fraud detection using JavaScript are described. The last part is about fraud detection based on how the application is used by looking at the interaction.</p><p>The next part of this series will cover how analytics of the fraud detection data can be transformed in to actionable data.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ntDY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ntDY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!ntDY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!ntDY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!ntDY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ntDY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png" width="1000" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Ad verification and fraud detection techniques comparison matrix shows the characteristics per fraud detection technique: Tracking pixel VS Javascript&#8217;s techniques. &quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ad verification and fraud detection techniques comparison matrix shows the characteristics per fraud detection technique: Tracking pixel VS Javascript&#8217;s techniques. " title="Ad verification and fraud detection techniques comparison matrix shows the characteristics per fraud detection technique: Tracking pixel VS Javascript&#8217;s techniques. " srcset="https://substackcdn.com/image/fetch/$s_!ntDY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 424w, https://substackcdn.com/image/fetch/$s_!ntDY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 848w, https://substackcdn.com/image/fetch/$s_!ntDY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!ntDY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb25cf8f-92e8-4107-92b4-6f71a59ec10f_1000x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Ad verification and fraud detection techniques comparison matrix shows the characteristics per fraud detection technique: Tracking pixel VS Javascript&#8217;s techniques.</figcaption></figure></div><blockquote></blockquote><h2>Ad Fraud detection: The techniques</h2><p>There are two main types of ad fraud detection at the client side where the browser is involved: Request based aka tracking pixel, and JavaScript based. In Figure 2 can be seen that JavaScript can logically be split in three groups, where each extracts data based on a different extraction method. Besides the data conveyed by the JavaScript also technical features of how the data was sent, ie. TLS fingerprint, network packets, are captures and used to determine ad fraud. All these layers of detection create a complete picture of the client side, the transport and whether that smells like fraud or not.</p><h2>Technique 1: Tracking Pixel</h2><p>A tracking pixel, technically an &lt;img&gt; tag in HTML, makes a request to the bidder&#8217;s server when a browser loads an advertisement that includes such a tracking pixel. Loading the pixel means that the browser requests and downloads the 1x1 pixel. It is not about displaying the pixel, but about conveying data. That&#8217;s why the browser&#8217;s requests contains a payload that will contain data such as names or ids of campaign, source, and media details in order to tie back the pixel to the advertisement and make the data actionable.</p><ul><li><p>a video advertisement is loaded</p></li><li><p>at video completion percentages (25%, 50%, 75%, 100%)</p></li><li><p>at specific pages to track conversion and/or transaction completion</p></li></ul><p>In order to get a better feeling of what REALLY happens, let&#8217;s take a look at Figure 3. It shows how the browser sends such a request, its headers, its payload, the size, the response, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xwbe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xwbe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 424w, https://substackcdn.com/image/fetch/$s_!Xwbe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 848w, https://substackcdn.com/image/fetch/$s_!Xwbe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 1272w, https://substackcdn.com/image/fetch/$s_!Xwbe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xwbe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png" width="1177" height="979" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:979,&quot;width&quot;:1177,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A pixel request to pagead2.googlesyndication.com. The payload can be found in the querystring, ie. everything after the questionmark in the URL&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A pixel request to pagead2.googlesyndication.com. The payload can be found in the querystring, ie. everything after the questionmark in the URL" title="A pixel request to pagead2.googlesyndication.com. The payload can be found in the querystring, ie. everything after the questionmark in the URL" srcset="https://substackcdn.com/image/fetch/$s_!Xwbe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 424w, https://substackcdn.com/image/fetch/$s_!Xwbe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 848w, https://substackcdn.com/image/fetch/$s_!Xwbe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 1272w, https://substackcdn.com/image/fetch/$s_!Xwbe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F397ea349-63b4-4f9c-80fb-77c5df11cd0a_1177x979.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. A pixel request to pagead2.googlesyndication.com. The payload can be found in the querystring, ie. everything after the questionmark in the URL</figcaption></figure></div><p>In Figure 3 three purple boxes can be seen. The box with number 1 contains the full URL of the request, where the payload is everything after the question mark. The data is encoded in protobuf format [4]. The box with number 2 shows a positive response: status code 200. The box with number 3 shows that an 1x1 image is returned.</p><p>But, as you would expect: Simple pixel requests by a browser can be faked!</p><p>Let&#8217;s show you how that can be achieved.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!immU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!immU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 424w, https://substackcdn.com/image/fetch/$s_!immU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 848w, https://substackcdn.com/image/fetch/$s_!immU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 1272w, https://substackcdn.com/image/fetch/$s_!immU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!immU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png" width="1173" height="598" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:598,&quot;width&quot;:1173,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Right clicking on the request gives a menu, go to 'Copy' and then 'Copy as cURL'. This puts the total request on the clipboard in cURL format.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Right clicking on the request gives a menu, go to 'Copy' and then 'Copy as cURL'. This puts the total request on the clipboard in cURL format." title="Right clicking on the request gives a menu, go to 'Copy' and then 'Copy as cURL'. This puts the total request on the clipboard in cURL format." srcset="https://substackcdn.com/image/fetch/$s_!immU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 424w, https://substackcdn.com/image/fetch/$s_!immU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 848w, https://substackcdn.com/image/fetch/$s_!immU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 1272w, https://substackcdn.com/image/fetch/$s_!immU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2feada2b-7bfd-414e-8e00-aa32b141d020_1173x598.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. Right clicking on the request gives a menu, go to 'Copy' and then 'Copy as cURL'. This puts the total request on the clipboard in cURL format.</figcaption></figure></div><p>The &#8216;Copy as cURL&#8217; in Figure 4 shows how to generate a full cURL request just like the browser did. The request includes all headers, eg. user agent, referrer, and also all custom headers. This will be copied onto the clipboard, as text. This can be copied to a terminal box and pasted and executed, which can be seen in Figure 5. The only addition I had to make is the <strong>--output gen_204.gif</strong>, see 3 in Figure 5, because images are binary and thus require a filename.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KDU5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KDU5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 424w, https://substackcdn.com/image/fetch/$s_!KDU5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 848w, https://substackcdn.com/image/fetch/$s_!KDU5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 1272w, https://substackcdn.com/image/fetch/$s_!KDU5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KDU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png" width="1291" height="251" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:251,&quot;width&quot;:1291,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The pasted cURL request on a command prompt. Once executed it again conveys the data and thus downloads the 1x1 GIF pixel&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The pasted cURL request on a command prompt. Once executed it again conveys the data and thus downloads the 1x1 GIF pixel" title="The pasted cURL request on a command prompt. Once executed it again conveys the data and thus downloads the 1x1 GIF pixel" srcset="https://substackcdn.com/image/fetch/$s_!KDU5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 424w, https://substackcdn.com/image/fetch/$s_!KDU5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 848w, https://substackcdn.com/image/fetch/$s_!KDU5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 1272w, https://substackcdn.com/image/fetch/$s_!KDU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f967eb9-83fc-4a81-895a-57bd8c89a464_1291x251.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 5. The pasted cURL request on a command prompt. Once executed it again conveys the data and thus downloads the 1x1 GIF pixel</figcaption></figure></div><p>As you can see both the request by the browser and the request by cURL from a command prompt were accepted by the web server, both times the server returned a HTTP status 200. The status cannot be seen in Figure 5, but running the same command in verbose mode shows the status: HTTP/2 200</p><p>This cURL example also shows that a browser is nothing more than a serial HTTPs request machine with some additions, like: session cookies, persistent storage, scripting, APIs, a GUI, an interface. These are important for humans, but not for bots! On the contrary, when committing ad fraud they are expensive in terms of CPU and memory.</p><h3>Pre-bid</h3><p>Opening a webpage with advertisements means that your browser starts a sequence of events in order to show these advertisements. The initial event is pre-bidding, aka header bidding. This enables SSPs and exchanges to bid on an ad-slot in a browser. Each of the available advertisements has a price range (min. and max. price), and the one with the highest bid within this range will win the auction and is thus being displayed in the ad-slot.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sLy8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sLy8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 424w, https://substackcdn.com/image/fetch/$s_!sLy8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 848w, https://substackcdn.com/image/fetch/$s_!sLy8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 1272w, https://substackcdn.com/image/fetch/$s_!sLy8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sLy8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png" width="1175" height="659" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:1175,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The details of the prebid request are shown at the right. The two purple boxes highlight the domain name and HTTP type.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The details of the prebid request are shown at the right. The two purple boxes highlight the domain name and HTTP type." title="The details of the prebid request are shown at the right. The two purple boxes highlight the domain name and HTTP type." srcset="https://substackcdn.com/image/fetch/$s_!sLy8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 424w, https://substackcdn.com/image/fetch/$s_!sLy8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 848w, https://substackcdn.com/image/fetch/$s_!sLy8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 1272w, https://substackcdn.com/image/fetch/$s_!sLy8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe21a634-32dd-4567-a141-6e6a287d81f9_1175x659.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6. The details of the prebid request are shown at the right. The two purple boxes highlight the domain name and HTTP type.</figcaption></figure></div><p>As you can see in Figure 6 a pre-bid request is, just like a pixel, a simple HTTP(s) request. This means it can be generated from the command line as well, just as easy as the previous example. Fraudsters love command lines, because it is CHEAP and SCALES well. Ever tried to start and open 50 Chrome browsers on your computer? Now try the same with 50 terminal boxes and requests, that&#8217;s very doable. It becomes even better when a single terminal box with a program that starts and fires 50 concurrent GET requests. That&#8217;s so lightweight, you wouldn&#8217;t even notice running this on your laptop or PC.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KOmY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KOmY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 424w, https://substackcdn.com/image/fetch/$s_!KOmY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 848w, https://substackcdn.com/image/fetch/$s_!KOmY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 1272w, https://substackcdn.com/image/fetch/$s_!KOmY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KOmY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png" width="1178" height="316" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:316,&quot;width&quot;:1178,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The HTTP POST payload of the prebid to criteo.com. The data format is a JSON array and contains info about the domain, ad-slot sizes, keywords, publisher id, ad types, gdpr consent, etc.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The HTTP POST payload of the prebid to criteo.com. The data format is a JSON array and contains info about the domain, ad-slot sizes, keywords, publisher id, ad types, gdpr consent, etc." title="The HTTP POST payload of the prebid to criteo.com. The data format is a JSON array and contains info about the domain, ad-slot sizes, keywords, publisher id, ad types, gdpr consent, etc." srcset="https://substackcdn.com/image/fetch/$s_!KOmY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 424w, https://substackcdn.com/image/fetch/$s_!KOmY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 848w, https://substackcdn.com/image/fetch/$s_!KOmY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 1272w, https://substackcdn.com/image/fetch/$s_!KOmY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6ea2177-71b9-4508-8114-32f22f3d6b3b_1178x316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 7. The HTTP POST payload of the prebid to criteo.com. The data format is a JSON array and contains info about the domain, ad-slot sizes, keywords, publisher id, ad types, gdpr consent, etc.</figcaption></figure></div><p>In a browser you will be using the JavaScript&#8217;s implementation of pre-bid. This piece of code will fire prebid requests based on the web page's configuration and configuration on behalf of advertisers, publishers, and middlemen in the ecosystem. The current prebid code size is 176kByte [8] and that&#8217;s the minified JavaScript! Although the size is large, AFAIK, it doesn&#8217;t do any security checks or data collection on behalf of ad fraud verification or detection. The alleged checks are done server side during pre-bidding, but what these checks and validations exactly are? Maybe ask Baghdad Bob?</p><p>Having tested firing prebid requests programmatically using cURL as simple test and Python to create more complex and fully configurable flow of prebidding and loading ads and firing pixels does actually work. In a separate future post I will show how this works step by step and how you can emulate a browser, or pretend to be <a href="http://com.some.arbitraty.random.app/">com.some.arbitraty.random.app</a> doing a prebid, capture the returned answer, load advertisements and fire completion pixels. All without a browser only using Python code and a series of requests. And what I can do without being paid, fraudsters are able to do as well; though they are getting paid, indirectly through companies' digital marketing spend.</p><h3>CTV</h3><p>In CTV (connected TV) advertisments can also be requested using pre-bid [6][7]. In CTV they are used to place bids on the available pods (commercial breaks). While the advertisements are shown completion pixels are fired at 25%, 50%, 75% and at 100% completion. I keep repeating myself, but technically these pixels can simply be generated programmatically and are similar to pixel requests.</p><p>In CTV no JavaScript can be executed to verify the client&#8217;s device and application. This means that the only information available at the verification side to make a decision upon is the incoming request and its payload.</p><h3>Streaming music, podcasts, and more</h3><p>Streaming platforms offer music, podcasts, video. About two weeks ago I read a nytimes article about a man that generated tons of new music using AI, placed this music on the platform, and streamed those tracks using bots [9]. He allegedly played his tracks BILLIONS of times using bots. Curiosity killed the cat, and greed killed this one! To me it implies those platforms didn&#8217;t have any fraud detection at all, that's why it persisted for such a long time at $110k/month!</p><p>A few years back I had a Deezer subscription, which allowed me to listen to music in lossless. Normal usage would be my browser or the Deezer App connecting to the streaming platform and listen to the music. Technically listening to music is simply a series of requests from my device to the platform which returns you some audio based on the request&#8217;s payload (ie. IDs, artist, album, song, etc).</p><p>An application called Deemix allows you to download audio from streaming platforms and store them as files on your computer. This enables you to make a local copy and/or collection of albums. It also downloads music much faster than the normal listening speed. Downloading 10 albums is a matter a seconds. This confirms that no fraud detection mechanism has been implemented. Why? The next section will explain why.</p><h2>Technique 1: Tracking Pixel -- Fraud detection</h2><p>So, how can ad fraud be determined purely on requests? The first question would be: What data is available to make a decision upon? In case of requests that&#8217;s not really much; Only data associated to the request:</p><ol><li><p>The conveyed payload querystring or HTTP post data</p></li><li><p>HTTP headers such as: user agent, sec-ua headers, origin, referrer, cookie, x-forwarded-for, etc.</p></li><li><p>IP address</p></li><li><p>Network packets, eg. TLS handshake fingerprint, TCP fingerprint</p></li></ol><p>The first two are generated by the browser, and as a fraudster this can be emulated 100% with a few lines of code; You only have to capture some real session data and replay the session, see figure 4 and 5.</p><p>Self declared bots don&#8217;t change their true user agent. They are considered &#8216;good bots&#8217; and are often allowed to access the content of web sites. Simply because based on the those bots and their work new customers using search engines will find your website. Examples of self declared bots are:</p><pre><code>'DuckDuckBot-Https/1.1; (+https://duckduckgo.com/duckduckbot)'

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/100.0.4896.127 Safari/537.36

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.99 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot)</code></pre><p>IAB Techlab continuously updates a list of known spider, crawler and other known bot user agents, which is available at an annual fee [18]. This list would be the low hanging fraud layer to flag and detect fraud by known bot user agents and thus preventing a bot to successfully prebid and load an advertisement.</p><p>Self declared bots typically run in data centers and don&#8217;t use residential proxies to hide their IP address. Using a (block)list with IP subnets of data centers would be an additional layer to prevent ads being served to traffic (bots) originating from data centers. They can still be allowed to load the page in order to scan content, but without the ads.</p><p>Fraudsters running their bots in a data center to load advertisements will have to change their IP address using residential proxies at an additional cost.</p><p>The TLS fingerprint is not hard to change, but requires more technical knowledge. But, more importantly: It prevents easy scaling as different applications and thus browsers (sometimes per version) have different TLS fingerprints. In CTV different TV brands and sticks do have different TLS fingerprint values, differing from version to version. This prevents fraudsters from just simply spoof a user agent (UA), because the combination between UA and TLS fingerprint <strong>has to match</strong>. It also requires a constant validate and when needed update their list of fingerprints, as new devices, updates of software on those devices, and new browser versions are released monthly.</p><p>To illustrate this let&#8217;s show you the difference between programmatic requests and real devices used by humans. Figure 8 shows the TLS fingerprint (based on JA3 hash) for different versions of Firefox. Only the last 4 characters are shown per fingerprint and as can be seen the JA3 fingerprint does not change very often. Version 115 and 116 share the same fingerprint, and since version 117 every Firefox release has had the same TLS fingerprint (based on JA3 hash).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FzKE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FzKE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 424w, https://substackcdn.com/image/fetch/$s_!FzKE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 848w, https://substackcdn.com/image/fetch/$s_!FzKE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 1272w, https://substackcdn.com/image/fetch/$s_!FzKE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FzKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png" width="1456" height="513" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:513,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Examples of Firefox versions and their respective JA3 fingerprints.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Examples of Firefox versions and their respective JA3 fingerprints." title="Examples of Firefox versions and their respective JA3 fingerprints." srcset="https://substackcdn.com/image/fetch/$s_!FzKE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 424w, https://substackcdn.com/image/fetch/$s_!FzKE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 848w, https://substackcdn.com/image/fetch/$s_!FzKE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 1272w, https://substackcdn.com/image/fetch/$s_!FzKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a565910-2008-41f9-9ddb-3bb67d351c37_1544x544.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 8. Examples of Firefox versions and their respective JA3 fingerprints.</figcaption></figure></div><p>But, there&#8217;s TLS fingerprint trouble on its way. Chrome started to randomize the order of the ciphers since version 110. The request application cURL exchanged OpenSSL for LibreSSL from version 8.4.0_9 onwards and as a result its TLS fingerprint started to appear as a random value. Figure 9 shows that versions prior to 8.4.0_9 share the same fingerprint (blue), and newer versions show a random fingerprint (red). As cURL is open source some OSes, eg. Windows 10, have their custom compiled version of cURL, and in the case of Windows the cURL fingerprint is static.</p><p>Other request based libraries and/or applications have other fingerprints, most of them are relatively static and resemble the fingerprints of the underlying libraries. But, it is just a matter of time before they start appearing as randomized fingerprints.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yJdM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yJdM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 424w, https://substackcdn.com/image/fetch/$s_!yJdM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 848w, https://substackcdn.com/image/fetch/$s_!yJdM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 1272w, https://substackcdn.com/image/fetch/$s_!yJdM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yJdM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png" width="717" height="651" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:651,&quot;width&quot;:717,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Examples of cURL 8.x.x subversions and their respective TLS fingerprint (JA3) hashes. It can clearly be seen that from version 8.4.0_9 the JA3 fingerprint started to appear as a random hash. Note: This hash changes every time cURL is being used. &quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Examples of cURL 8.x.x subversions and their respective TLS fingerprint (JA3) hashes. It can clearly be seen that from version 8.4.0_9 the JA3 fingerprint started to appear as a random hash. Note: This hash changes every time cURL is being used. " title="Examples of cURL 8.x.x subversions and their respective TLS fingerprint (JA3) hashes. It can clearly be seen that from version 8.4.0_9 the JA3 fingerprint started to appear as a random hash. Note: This hash changes every time cURL is being used. " srcset="https://substackcdn.com/image/fetch/$s_!yJdM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 424w, https://substackcdn.com/image/fetch/$s_!yJdM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 848w, https://substackcdn.com/image/fetch/$s_!yJdM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 1272w, https://substackcdn.com/image/fetch/$s_!yJdM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c767da2-7cf2-46e2-bc0e-b7724bce2065_717x651.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 9. Examples of cURL 8.x.x subversions and their respective TLS fingerprint (JA3) hashes. It can clearly be seen that from version 8.4.0_9 the JA3 fingerprint started to appear as a random hash. Note: This hash changes every time cURL is being used.</figcaption></figure></div><p>When applications, like browsers, started randomizing their TLS fingerprint (the JA3 Hash) it made it harder for fraud detection tools to automatically flag and/or block requests. Blindly blocking unknown or unassociated TLS fingerprints may cause a lot of false positives. For example, at large companies your browser on your workstation isn&#8217;t able to directly connect to the web sites on the Internet, because there&#8217;s a proxy server in between. This proxy server decrypts your secure session, checks the data going back/forward (malware detection, scanning for sensitive company information to be leaked, etc.), and re-encrypts the session to communicate with the web server. The fraud detection at the receiving end will see the TLS fingerprint of the proxy server, which is completely different compared to the fingerprint associated to your browser&#8217;s user agent. Automatically flagging without understanding what you're flagging can be a recipe for false positives! If you work in a corporate network and certain sites are randomly blocking you, or harassing you with CAPTCHAs without reason, now you know why!</p><p><strong>cURL impersonate</strong></p><p>In order to emulate the behavior of real browsers fraudsters have started using special versions of cURL. cURL impersonate [13] is such a version and enables you to emulate the TLS handshake of a real browser. This means that looking at the JA3 hash requests appear to be from genuine browsers. This enables fraudsters to pretend to be a popular browser, and spoof its associated fingerprint. Request based fraud is cheap and easy to scale and making the requests look like normal browser requests is the icing on the cake for fraudsters.</p><p>What does this tell us? TLS fingerprint enables fraud detection solutions to determine whether the application is lying about its appearance. Fraudsters spoofing the TLS fingerprint to match the user agent are invisible at this detection level. Randomization of a TLS fingerprint makes browsers stand out because of their uniqueness. Though, at the detection side you can still avoid this by countering the randomization, eg. using sorting, though it is less granular, it is somewhat effective.</p><p>So, if an application knocks on the digital door of your Ad server, CTV, API, or music streaming platform and its hash shows that it is a known hash of an old cURL (or: wget, python, golang, electron, jdownloader, deemix, etc) version pretending to be a popular browser you should be aware of that. You might block them by dropping the request, or send them to a slow web server, etc. But, in the end, you should be aware of it and the number of (dropped) bot requests should be in your monthly usage statistics.</p><p>Spoofed TLS fingerprints generated by a modified versions of cURL do make TLS fingerprinting ineffective. There are no direct solutions to this, only indirect ones, and by having multiple detection layers, such as: JavaScript.</p><h2>Technique 2: JavaScript -- Fraud detection</h2><p>JavaScript can be used to execute your code in order to probe, read and convey information from a browser to the fraud detection server. A common architecture is that the fraud detection the server will make the fraud decision based on the data the client conveyed. In order to make that decision three different classes of data can be collected from the browser.</p><p>The three classes of data collection in JavaScript are:</p><ol><li><p>Direct. Reading properties from the browser&#8217;s configuration and Web APIs</p></li><li><p>Challenge/ Response. This providing a (random) challenge, where the browser generates a response to that specific challenge</p></li><li><p>Human behavior. Recording human interactional data like scrolls, clicks, window resize, visibility, etc.</p></li></ol><p>The paragraphs below contain a description and detailed examples for each class.</p><h3>JavaScript Class 1: Extracting properties</h3><p>Every browser has different a different configuration, its unique settings based on the hardware, environment and operating system. These can be read by JavaScript code executed in the browser. The combination of these properties is considered to be unique enough to track an individual over the Internet. Examples of such properties are:</p><ul><li><p>Screensize, color depth, pixelratio</p></li><li><p>Preferred language settings, time zone</p></li><li><p>Querying installed fonts, querying browser extensions, codecs</p></li><li><p>Number of CPU cores, memory, heapsize, platform</p></li><li><p>Permissions of webcam, microphone, GPS</p></li><li><p>Applepay available? battery status, supported speechSynthesis languages and voices</p></li><li><p>CDP (Chrome devtools protocol) signatures</p></li><li><p>And oh so many more properties can be collected</p></li></ul><p>In normal browsers these properties are relatively static and provide a good basis for a persistent fingerprint. But, fraudsters rotate these values, or buy collected fingerprints from real people and simply apply those values in their browsers to match someone else&#8217;s fingerprint. This makes their a browser instance able to resemble many many different users.</p><p>Fraud detection will of course look at how coherent and logically the collected data is. If a declared iPhone doesn&#8217;t support Applepay but does have a Chrome object that&#8217;s a big red flag. These basic checks are still necessary and will flag amateuristic fraudsters, just as bots forgetting to spoof their TLS fingerprint.</p><p>About a year ago (Apr 2023) Google implemented a new headless mode in Chrome. Prior to that update the fingerprints of a headless and headful browser were quite distinct. But the new mode resembles the headful mode except the value of the property navigator.webdriver. If it returns the value true it is a browser controlled by software, if false a human is interacting with the browser. But, as you can imagine this value will be spoofed and returns false. Every fraudster and their mother knows this!</p><p>One of the ways to detect browser automation in this new headless mode is to see whether the chrome driver is enabled and communicates with the browser. The scraping world's answer has been to create ways to remote control a Chrome browser without the driver [17]. This technology can also be used to load pages with advertisements, interact with landing pages, etc.</p><p>Unfortunately, you don&#8217;t catch professional fraudster with reading properties, because they know exactly what to patch and how to patch or simply bypass it. To catch the professionals you need to go to the next level: Challenge / Response detection.</p><h3>JavaScript Class 2: Challenge / Response</h3><p>In security there are three common forms of authentication. Something you know, something you have and something you are. Reading properties (class 1) using JavaScript can be seen as &#8216;something your browser knows&#8217;, though unlike passwords the properties in a browser aren&#8217;t secret but change from device to device. The &#8216;something you have&#8217; can be seen as an authentication cookie, access token, etc. The &#8216;something your hardware + browser is&#8217; is similar to a challenge / response (class 2).</p><p>The challenge is to write a piece of code that can be run on every browser and generates different output based on the configuration of the browser, operating system and hardware. Different systems with the same Operating System (OS) and hardware will generate the same responses per challenge. Because the challenge is randomized it is hard -or near impossible- to predict the associated response.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zNcq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zNcq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 424w, https://substackcdn.com/image/fetch/$s_!zNcq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 848w, https://substackcdn.com/image/fetch/$s_!zNcq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 1272w, https://substackcdn.com/image/fetch/$s_!zNcq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zNcq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png" width="1456" height="383" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:383,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;JavaScript challenge/response. The response is based on the type of challenge combined with both the hardware and the OS.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="JavaScript challenge/response. The response is based on the type of challenge combined with both the hardware and the OS." title="JavaScript challenge/response. The response is based on the type of challenge combined with both the hardware and the OS." srcset="https://substackcdn.com/image/fetch/$s_!zNcq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 424w, https://substackcdn.com/image/fetch/$s_!zNcq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 848w, https://substackcdn.com/image/fetch/$s_!zNcq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 1272w, https://substackcdn.com/image/fetch/$s_!zNcq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d376f8b-b5e2-43dd-880c-04c0c3ebada9_1553x408.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 10. JavaScript challenge/response. The response is based on both the combination of hardware, OS and the type of the challenge.</figcaption></figure></div><p>Figure 10 shows the implementation flow of the JavaScript challenge/ response. The JavaScript will execute a test that depends on the configuration of the OS and/or type of hardware. At (1) the server generates a unique JavaScript that is sent to the browser. The browser needs the OS and/or hardware to execute this task (2). Based on the how the browser has implemented this, the configuration of the device, and the available hardware an answer is returned (3). That answer is captured and conveyed to the server that generated the challenge. In this scenario there is no right or wrong, an answer will always be generated and returned. Whether the response can be associated to known bots, normal browsers that&#8217;s up to the fraud detection engine.</p><p>An example: Different operating systems have different fonts installed. Some fonts are available on Mac, some on Windows, etc. As fonts are vector based they are rendered by the browser on the spot. This means that different browsers might render the same font differently, the availability of a glyph [14] in that font, and the font fallback when the requested font is not available on the device.</p><p>This becomes apparent when rendering emoticons. If available, the emoticon is rendered, if not a box is rendered. It depends on the browser and available fonts whether a full color, simple color or black/white version is rendered. The code example in Figure 11 shows how the unicode character 128522 is displayed in a browser using the Sans Serif font. Subsequently, the size of the bounding box is displayed as width x height below the emoticon. This challenge can be randomized by changing the font, fontsize and the emoticon.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Nqo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Nqo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 424w, https://substackcdn.com/image/fetch/$s_!5Nqo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 848w, https://substackcdn.com/image/fetch/$s_!5Nqo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 1272w, https://substackcdn.com/image/fetch/$s_!5Nqo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Nqo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png" width="854" height="174" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:174,&quot;width&quot;:854,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Simple HTML + JavaScript code to display a smiley at size 200 using Sans Serif font.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Simple HTML + JavaScript code to display a smiley at size 200 using Sans Serif font." title="Simple HTML + JavaScript code to display a smiley at size 200 using Sans Serif font." srcset="https://substackcdn.com/image/fetch/$s_!5Nqo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 424w, https://substackcdn.com/image/fetch/$s_!5Nqo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 848w, https://substackcdn.com/image/fetch/$s_!5Nqo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 1272w, https://substackcdn.com/image/fetch/$s_!5Nqo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ac7264-acc5-40f3-9fa8-894d1b527ffb_854x174.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 11. Simple HTML + JavaScript code to display a smiley at size 200 using Sans Serif font. Below the smiley its bounding box size is displayed.</figcaption></figure></div><p>Would such a simple piece of code generate different output using different browsers? Yes, it does! The test doesn&#8217;t even count the number of colors used, or calculate a hash of the emoticon. Figure 12 shows how different this single smiley is rendered based on the few devices and browsers I have. At scale, looking at millions and millions of devices, these tests will show what is human, what is a bot, or is an outlier and needs further inspection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Ld_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Ld_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 424w, https://substackcdn.com/image/fetch/$s_!9Ld_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 848w, https://substackcdn.com/image/fetch/$s_!9Ld_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 1272w, https://substackcdn.com/image/fetch/$s_!9Ld_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Ld_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png" width="1070" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1070,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Seven examples of different output for the same emoticon 128522 differently. Browsers were Chrome, Chromium, Firefox, Safari. OSes were iOS, Android, Windows, Linux.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Seven examples of different output for the same emoticon 128522 differently. Browsers were Chrome, Chromium, Firefox, Safari. OSes were iOS, Android, Windows, Linux." title="Seven examples of different output for the same emoticon 128522 differently. Browsers were Chrome, Chromium, Firefox, Safari. OSes were iOS, Android, Windows, Linux." srcset="https://substackcdn.com/image/fetch/$s_!9Ld_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 424w, https://substackcdn.com/image/fetch/$s_!9Ld_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 848w, https://substackcdn.com/image/fetch/$s_!9Ld_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 1272w, https://substackcdn.com/image/fetch/$s_!9Ld_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15fadc42-d986-4d08-96c6-e50f67c9c5f7_1070x862.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 12. Seven examples of different output for the same emoticon 128522 differently. Browsers were Chrome, Chromium, Firefox, Safari. OSes were iOS, Android, Windows, Linux.</figcaption></figure></div><p>Another example of challenge / response tests is Google&#8217;s Picasso: Lightweight Device Class Fingerprinting for Web Clients [11]. This research shows that by looking at the individual pixels when different browser versions render the exact same shapes (the challenge) and how the results differ per browser engine and version (the response). Based on the response the verification solution knows exactly which browser and engine version did run the test, which can be checked against the provided user agent. The next level to this type of test is to include the differences per GPU in the mix. And as we all know scaling different types of hardware is expensive.</p><p>The fraudster&#8217;s answer to this type of tests has been to stop spoofing user agents and use the browser associated to the reported user agent. Keep this version up to date which makes you blend in with what everybody is using. But, their problem is the variety of hardware. As they typically run their browsers in the cloud, preferably in containers, they use the cloud's hardware. This means they're caught between a rock and a hard place and to prevent detection randomization of the challenge/ response result has been the answer. This means each fraud detection running in their browsers becomes an outlier. To prevent false positives outliers cannot be blocked/ flagged blindly; but can only be blocked using rate limiting rules way above normal human thresholds.</p><p>The last few years this has been a whack-a-mole &#8211; cycle of updating detection by fraud detection companies and subsequently patching their browsers by fraudsters to avoid detection, etc. The benefit of forcing fraudsters into this corner is that the browser based solution doesn&#8217;t scale well at very low costs. Using rate limiting per collected fingerprint per IP address and/or IP subnet forces fraudsters to use proxies which is again increasing costs.</p><h3>JavaScript Class 3: Capturing human interaction behavior</h3><p>The upper part of the marketing funnel, ie. pre-bid, impressions, clicks on impressions, does not have much human interaction. At most some visibility (in viewport/ out of viewport) data can be collected and hopefully a click.</p><p>The lower in the funnel the more the prospect will interact. At the landing page you expect the prospect to read about your product and once convinced the lead generation form is filled out. Filling out a form will have a lot of user interaction: clicking, typing, touching, zooming, etc.</p><p><strong>Behavioral analysis =/= Behavioral statistics</strong></p><p>Counting the number of clicks, or the click:scroll ratio, avg mouse speed per second, mouse acceleration, mouse trajectory distance, etc. is creating a series of behavioral statistics. This isn&#8217;t capturing the underlying behavior. It&#8217;s like measuring and trying to classify a chess game by measuring the distance each piece has made over the board: it says nothing about the strategy of the game and its outcome. Using these simplified behavioral statistics is prone to false positives.</p><p>Behavioral analysis goes much further than flattening and averaging behavioral data. This is the area where <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics</a> excels, and where the company name comes from: Bio = life, Chronos = time, Metrics = measuring stuff. Measuring (human) behavior over time. Automated behavior from a bot over time differs completely from human behavior. Human operated fraud also differs from regular human behavior.</p><p>Compare it with simple handwriting differences. Where typewriters are the bots and handwriting belongs to a human. The difference between the two is like day and night. The differences between human operated fraud and regular human usage are more subtle. Showing these differences would be a long post on its own and beyond the goal of this article. If there&#8217;s enough demand for such a post, I&#8217;ll might write an article about OxBio&#8217;s former behavioral analytics models, let me know in the comments.</p><h2>Final words</h2><p>Your takeaway would be to realize ad fraud exist and is a lot more than the reported &lt;1% simply because to fraudsters it's lucrative and almost risk free.</p><p>The opposite of &#8216;ignorance is bliss&#8217; is: Knowledge is power. Having knowledge means being in control.</p><p>In prebid, CTV, streaming, TLS fingerprinting is a must in order to prevent fraudsters to scale easily and massively like that dude streaming his own AI songs. But, the pre-bid filtering, ad verification or fraud detection will at minimum have to collect and validate these fingerprints. Though, firing requests using modified versions of cURL are possible, there are other techniques that would add layers of detection, eg. TCP fingerprinting and still enable quality detection of fraud.</p><p>By educating marketers and other interested folks the foundations of fraud detection, ie. What types of detections exist, what is possible to achieve and what is not possible, is the first step for brands to become more resilient. You don&#8217;t have to fully 100% understand everything in this post and know how to do this yourself. As long as you know whom to invite to assess the vendors technically and ask difficult but necessary questions during the ad fraud vendor selection process, you&#8217;re safer than believing the sales representatives of those vendors.</p><p>Next article in this series will be about how analytics is used to make the detection actionable.</p><p>Corrections? Suggestions? Questions? Feel free to comment, connect, or DM</p><h2>Appendix</h2><p>Links mentioned in the article. They are not listed in order of appearance.</p><p>[1] <a href="https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_FINAL.pdf">https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_FINAL.pdf</a></p><p>[2] <a href="https://support.google.com/admanager/answer/6123557?hl=en">https://support.google.com/admanager/answer/6123557?hl=en</a></p><p>[3] <a href="https://helpcenter.integralplatform.com/article/publisher-verification-implementation-guide">https://helpcenter.integralplatform.com/article/publisher-verificatio</a><a href="https://support.google.com/admanager/answer/6123557?hl=en">https://support.google.com/admanager/answer/6123557?hl=en</a></p><p>[3] <a href="https://helpcenter.integralplatform.com/article/publisher-verification-implementation-guide">https://helpcenter.integralplatform.com/article/publisher-verification-implementation-guide</a></p><p>[4] <a href="https://protobuf.dev/overview/">https://protobuf.dev/overview/</a></p><p>[5] <a href="https://docs.prebid.org/prebid/prebidjs.html">https://docs.prebid.org/prebid/prebidjs.html</a></p><p>[6] <a href="https://docs.prebid.org/formats/ctv.html">https://docs.prebid.org/formats/ctv.html</a></p><p>[7] <a href="https://files.prebid.org/docs/Prebid_for_CTV-OTT.pdf">https://files.prebid.org/docs/Prebid_for_CTV-OTT.pdf</a></p><p>[8] <a href="https://docs.prebid.org/download.html">https://docs.prebid.org/download.html</a></p><p>[9] <a href="https://www.nytimes.com/2024/09/05/nyregion/nc-man-charged-ai-fake-music.html">https://www.nytimes.com/2024/09/05/nyregion/nc-man-charged-ai-fake-music.html</a></p><p>[10] <a href="https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows">https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows</a></p><p>[11] <a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45581.pdf">https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45581.pdf</a></p><p>[12] <a href="https://daniel.haxx.se/blog/2022/09/02/curls-tls-fingerprint/">https://daniel.haxx.se/blog/2022/09/02/curls-tls-fingerprint/</a></p><p>[13] <a href="https://github.com/lwthiker/curl-impersonate">https://github.com/lwthiker/curl-impersonate</a></p><p>[14] <a href="https://en.wikipedia.org/wiki/Glyph">https://en.wikipedia.org/wiki/Glyph</a></p><p>[15] <a href="https://jasonzweig.com/three-ways-to-get-paid/">https://jasonzweig.com/three-ways-to-get-paid/</a></p><p>[16] <a href="https://www.emarketer.com/press-releases/2024-political-ad-spending-will-jump-nearly-30-vs-2020/">https://www.emarketer.com/press-releases/2024-political-ad-spending-will-jump-nearly-30-vs-2020/</a></p><p>[17] </p><blockquote><div id="youtube2-a6OQHaco3b0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;a6OQHaco3b0&quot;,&quot;startTime&quot;:&quot;161&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/a6OQHaco3b0?start=161&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>[18] <a href="https://iabtechlab.com/software/iababc-international-spiders-and-bots-list/">https://iabtechlab.com/software/iababc-international-spiders-and-bots-list/</a></p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[In 2024 "Can a bot fake .... ?" -- FAQ]]></title><description><![CDATA[The typical flow of a conversation during the first call with a new customer having fraud problems can be boiled down to this:]]></description><link>https://news.oxford-biochron.com/p/in-2024-can-a-bot-fake-faq</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/in-2024-can-a-bot-fake-faq</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Thu, 18 Jul 2024 15:08:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AOra!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AOra!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AOra!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!AOra!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!AOra!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!AOra!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AOra!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:353634,&quot;alt&quot;:&quot;In 2024 \&quot;Can a bot fake .... ?\&quot; -- FAQ&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="In 2024 &quot;Can a bot fake .... ?&quot; -- FAQ" title="In 2024 &quot;Can a bot fake .... ?&quot; -- FAQ" srcset="https://substackcdn.com/image/fetch/$s_!AOra!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!AOra!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!AOra!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!AOra!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F994f206c-3163-4849-a6d3-497a5fa63451_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In 2024 "Can a bot fake .... ?" -- FAQ</figcaption></figure></div><p>The typical flow of a conversation during the first call with a new customer having fraud problems can be boiled down to this:</p><p>Client: &#8220;What are bots capable of in 2024?&#8221;</p><p>Me: &#8220;Quite a lot! With a big laugh.&#8221;</p><p>Client: &#8220;Haha, but... realistically, what exactly?&#8221;.</p><p>Whenever I talk to new clients the conversation will have this sequence of questions. That&#8217;s why I made this FAQ from a technical point of view. What can bots fake, spoof, manipulate, alter, etc. in order to appear as a real genuine browser and a genuine human sitting behind the screen.</p><p>After the initial questions made by the marketers, the tech people jump in. They ask the more difficult questions which are very specific and based on research they did to solve their problem or research prior to the call. I have collected and combined the most asked question into a FAQ.</p><p>This article contains in-depth and detailed answers to 10 questions about bots, you&#8217;ve always wanted an answer to. It has been written for marketing professionals looking for ad-fraud and/or lead generation-fraud solutions where this FAQ can be used as a guideline in order to ask these vendors: "How does your solution detect a bot faking ... ?"-FAQ</p></blockquote><h2>1. Are bots able to fake the domain name of the website they are accessing?</h2><blockquote><p>The domain name can be read from the browser using JavaScript by reading the values window.location.origin, window.location.host, window.location.hostname and window.location.href properties [1]. Browser automation, ie. advanced bots, are capable to load webpages and execute JavaScript. These bots will remote control the browser in all its glory. This is achieved by starting the browser and controlling each tab using the CDP protocol (Chrome Dev Tools), giving instructions to click, scroll, type, etc. This works for Chromium based browsers, eg. Chrome, MS Edge, etc. but also Firefox and Safari have similar protocols, though less common.</p><p>The example in figure 1 is a post-bidding example. But, in pre-bidding the browser will send one or more bid-requests for an advertisement. This request is again fired from the same browser and contains plain text, which can be faked to anything the bot wants.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x1UF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x1UF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 424w, https://substackcdn.com/image/fetch/$s_!x1UF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 848w, https://substackcdn.com/image/fetch/$s_!x1UF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 1272w, https://substackcdn.com/image/fetch/$s_!x1UF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x1UF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png" width="1007" height="607" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:607,&quot;width&quot;:1007,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Financial Times website with Chrome Developer Tools opened. The window.location object in the browser contains the URLs which currently are shown in the tab&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Financial Times website with Chrome Developer Tools opened. The window.location object in the browser contains the URLs which currently are shown in the tab" title="Financial Times website with Chrome Developer Tools opened. The window.location object in the browser contains the URLs which currently are shown in the tab" srcset="https://substackcdn.com/image/fetch/$s_!x1UF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 424w, https://substackcdn.com/image/fetch/$s_!x1UF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 848w, https://substackcdn.com/image/fetch/$s_!x1UF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 1272w, https://substackcdn.com/image/fetch/$s_!x1UF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36d90e5b-5321-48bc-9050-73319ed358d7_1007x607.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. The window.location object in the browser contains the URLs which currently are shown in the tab</figcaption></figure></div><blockquote><p>So, can bots fake the domain they are on? Yes, they can both pre-bid and post-bid.</p></blockquote><h2>2. Are bots able to fake the referrer URL?</h2><blockquote><p>The referrer URL informs 3rd party web sites which URL is visited when a resource is requested. For example, if you are browsing to www . usatoday . com and a JavaScript is loaded from a different domain, eg. <a href="http://static.adsafeprotected.com/">static.adsafeprotected.com</a>, the referrer header is set. Figure 2 shows the referrer header and its value. These values can be changed by bots by intercepting the network traffic within the browser, overriding the value to whatever they want, and send the modified traffic.</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZMeF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZMeF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 424w, https://substackcdn.com/image/fetch/$s_!ZMeF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 848w, https://substackcdn.com/image/fetch/$s_!ZMeF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 1272w, https://substackcdn.com/image/fetch/$s_!ZMeF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZMeF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png" width="933" height="368" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:368,&quot;width&quot;:933,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The browser requesting the JavaScript https://static.adsafeprotected.com/iasPET.1.js from https://www.usatoday.com will set the Referer HTTP header to https://www.usatoday.com/&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The browser requesting the JavaScript https://static.adsafeprotected.com/iasPET.1.js from https://www.usatoday.com will set the Referer HTTP header to https://www.usatoday.com/" title="The browser requesting the JavaScript https://static.adsafeprotected.com/iasPET.1.js from https://www.usatoday.com will set the Referer HTTP header to https://www.usatoday.com/" srcset="https://substackcdn.com/image/fetch/$s_!ZMeF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 424w, https://substackcdn.com/image/fetch/$s_!ZMeF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 848w, https://substackcdn.com/image/fetch/$s_!ZMeF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 1272w, https://substackcdn.com/image/fetch/$s_!ZMeF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5148944-fb70-42a6-895e-7ffcac8397ea_933x368.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. The browser requesting the JavaScript</figcaption></figure></div><blockquote></blockquote><h2>3. Are bots able to fake the Mobile App name?</h2><p>Advertisements in Mobile Apps are displayed using a web browser that is embedded within the App. This embedded browser is called WebView. Within this webview an advertising platform loads and refreshing ads based on your cookies, geo-location, etc. For example, Google&#8217;s Admob is such a platform [2][3], InMobi, AppLovin, Glispa, Amobee are prominent alternative platforms.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9kGC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9kGC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 424w, https://substackcdn.com/image/fetch/$s_!9kGC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 848w, https://substackcdn.com/image/fetch/$s_!9kGC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 1272w, https://substackcdn.com/image/fetch/$s_!9kGC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9kGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png" width="1456" height="335" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e160c585-33e5-4044-95af-d453daba29f2_2211x508.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:335,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot of Charles proxy of the communication between the FT App installed on a real Android device and Google in order to display an Ad embedded within the App&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot of Charles proxy of the communication between the FT App installed on a real Android device and Google in order to display an Ad embedded within the App" title="Screenshot of Charles proxy of the communication between the FT App installed on a real Android device and Google in order to display an Ad embedded within the App" srcset="https://substackcdn.com/image/fetch/$s_!9kGC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 424w, https://substackcdn.com/image/fetch/$s_!9kGC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 848w, https://substackcdn.com/image/fetch/$s_!9kGC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 1272w, https://substackcdn.com/image/fetch/$s_!9kGC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe160c585-33e5-4044-95af-d453daba29f2_2211x508.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 3. Screenshot of Charles proxy of the communication between the FT App installed on a real Android device and Google in order to display an Ad embedded within the App</figcaption></figure></div><p>When an App accesses a website using WebView the appname is conveyed in the HTTP header x-requested-with. Figure 3 shows the communication captured with a MITM (man in the middle) proxy between the FT App installed on a real Android phone and Google. The highlighted blue line shows the x-requested-with HTTP header. This is of course only a single request made from the App. Another interesting fact which can be seen in Figure 3 is the User Agent (UA). Apps have full control over the UA and in this case you&#8217;ll see the Appname and full version are included in the UA as well.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>4. Can bots fake utm_ parameters and other forms of link decoration?</h2><p>Querystring parameters like utm_source, utm_campaign, gclid and/or fbclid are technically nothing more than a ampersand separated string appended to the GET request. When bots load the advertisement in the browser, they already know what the target link will be. They can simply change the parameters upfront, and click and let the browser do its work. Another method is to dynamically change the parameters using request interception. If a bot already uses this technique to change HTTP headers, referrer it is fairly easy to add some rules to rewrite destination URLs. So, yes they can. Easy!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qdU0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qdU0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 424w, https://substackcdn.com/image/fetch/$s_!qdU0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 848w, https://substackcdn.com/image/fetch/$s_!qdU0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 1272w, https://substackcdn.com/image/fetch/$s_!qdU0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qdU0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png" width="921" height="229" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:229,&quot;width&quot;:921,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The querystring part of a request is given in blue after the question mark &#8216;?&#8217; in the request URL&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The querystring part of a request is given in blue after the question mark &#8216;?&#8217; in the request URL" title="The querystring part of a request is given in blue after the question mark &#8216;?&#8217; in the request URL" srcset="https://substackcdn.com/image/fetch/$s_!qdU0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 424w, https://substackcdn.com/image/fetch/$s_!qdU0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 848w, https://substackcdn.com/image/fetch/$s_!qdU0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 1272w, https://substackcdn.com/image/fetch/$s_!qdU0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110222c1-bcd3-4e60-b9a1-1cccaa822671_921x229.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 4. The querystring part of a request is given in blue after the question mark &#8216;?&#8217; in the request URL</figcaption></figure></div><blockquote></blockquote><h2>5. Can bots fake cookies in the browser?</h2><p>Browsing to a website means that all cookies in the browser associated with that URL are sent along with the request. Figure 5 shows how this looks at the website </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Kviy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Kviy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 424w, https://substackcdn.com/image/fetch/$s_!Kviy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 848w, https://substackcdn.com/image/fetch/$s_!Kviy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 1272w, https://substackcdn.com/image/fetch/$s_!Kviy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Kviy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png" width="1456" height="538" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:538,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot; The cookies sent along with the request when browsing to https://ft.com&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt=" The cookies sent along with the request when browsing to https://ft.com" title=" The cookies sent along with the request when browsing to https://ft.com" srcset="https://substackcdn.com/image/fetch/$s_!Kviy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 424w, https://substackcdn.com/image/fetch/$s_!Kviy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 848w, https://substackcdn.com/image/fetch/$s_!Kviy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 1272w, https://substackcdn.com/image/fetch/$s_!Kviy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55b901dc-5495-4c2f-9b5e-346847b32b09_1656x612.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 5. The cookies sent along with the request when browsing to https://ft.com</figcaption></figure></div><p>So, can bots fake cookies? Yes, they can and will warm browsing session in order to maximize their profit.</p><h2>6. Can bots fake the fingerprint of the browser?</h2><p>Using CDP (Chrome Devtools Protocol) any property or value in the browser can be overridden. This enables fraudsters to change values like: Screen resolution, keyboard language, available plugins, time zone, webGL vendor and renderer, etc. Combining these property values (and many others) are called the browser's fingerprint. This also means if a value changes, the fingerprint changes. CreepJS is an open source tool to calculate your browser's fingerprint. When developing a bot creepJS is typically your litmus test.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dHah!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dHah!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 424w, https://substackcdn.com/image/fetch/$s_!dHah!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 848w, https://substackcdn.com/image/fetch/$s_!dHah!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 1272w, https://substackcdn.com/image/fetch/$s_!dHah!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dHah!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png" width="797" height="336" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/015921e6-3d83-4db0-b900-6b663f924895_797x336.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:336,&quot;width&quot;:797,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;CreepJS is one of the most extensive open source tool to calculate your browser fingerprint&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="CreepJS is one of the most extensive open source tool to calculate your browser fingerprint" title="CreepJS is one of the most extensive open source tool to calculate your browser fingerprint" srcset="https://substackcdn.com/image/fetch/$s_!dHah!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 424w, https://substackcdn.com/image/fetch/$s_!dHah!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 848w, https://substackcdn.com/image/fetch/$s_!dHah!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 1272w, https://substackcdn.com/image/fetch/$s_!dHah!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F015921e6-3d83-4db0-b900-6b663f924895_797x336.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6. CreepJS is one of the most extensive open source tool to calculate your browser fingerprint</figcaption></figure></div><p>In addition to fingerprint a series of static values, it is also possible to fingerprint responses to challenges. For example, WebGL shapes are drawn and because different OSes, browsers, videocards and its drivers may use different anti-alias methods, have different IEEE754 floating point implementations, use different rounding modes, etc. the color values of individual pixels may thus differ per video card type [4][5].</p><h2>7. Can bots fake the TLS fingerprint of the browser?</h2><p>TLS fingerprints are generated server side. It is based on the client-server handshake prior to the encryption of the communication. In this handshake the browser sends: Hello, I support these encryption cipher suites. The server answers with the selected cipher and key (simplified) [7]. Different browsers on different OSes support different cipher suites. This is most relevant for request based bots as by default their fingerprint does not resemble any browser [23]. That&#8217;s why request based bots will have to use special clients and tools. For example curl-cffi (see Figure 7), curl-impersonate, AzureTLS and CycleTLS [8][9][10].</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MUuq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MUuq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 424w, https://substackcdn.com/image/fetch/$s_!MUuq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 848w, https://substackcdn.com/image/fetch/$s_!MUuq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 1272w, https://substackcdn.com/image/fetch/$s_!MUuq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MUuq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png" width="933" height="987" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:987,&quot;width&quot;:933,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Curl-cffi enables you to send requests to web servers from Python code emulating the TLS handshake of common web browsers&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Curl-cffi enables you to send requests to web servers from Python code emulating the TLS handshake of common web browsers" title="Curl-cffi enables you to send requests to web servers from Python code emulating the TLS handshake of common web browsers" srcset="https://substackcdn.com/image/fetch/$s_!MUuq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 424w, https://substackcdn.com/image/fetch/$s_!MUuq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 848w, https://substackcdn.com/image/fetch/$s_!MUuq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 1272w, https://substackcdn.com/image/fetch/$s_!MUuq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f17fb6a-f298-4dfc-abed-0efc8684d092_933x987.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 7. Curl-cffi enables you to send requests to web servers from Python code emulating the TLS handshake of common web browsers</figcaption></figure></div><p>Browser based bots need to connect to a proxy in order to change the fingerprint. In such a setup a proxy server will setup the secure connection to the web server with the publisher site and/or landing page. The proxy will forward the requests on behalf of the automated browser. In this case the web site (and its fraud detection) will fingerprint the proxy server's requests.</p><h2>8. Can bots fake (prevent) WebRTC from leaking your real IP address?</h2><p>WebRTC (Web Real-Time Communication) is the technology that enables videoconferencing from a browser [11]. WebRTC uses point to point communication bypassing proxy servers configured in the browser. In fraud detection WebRTC can be used to detect the real internet facing IP address of the client, even if the client is using a proxy or VPN. The detection can be split in two parts: Capturing the IP address server side and extracting the local IP address(es) at the client using JavaScript.</p><h3>WebRTC Server side</h3><p>In order to detect bots and fraudsters using residential proxies anti-bot detection companies have setup their own WebRTC infrastructure. Cheap and low quality VPN clients allow anti-bot and fraud detection companies to extract the true external IP address the bot or fraudster uses. Premium quality (non-free) VPN and proxy software typically don&#8217;t have this issue.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JvOA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JvOA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 424w, https://substackcdn.com/image/fetch/$s_!JvOA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 848w, https://substackcdn.com/image/fetch/$s_!JvOA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 1272w, https://substackcdn.com/image/fetch/$s_!JvOA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JvOA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png" width="995" height="633" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:633,&quot;width&quot;:995,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Browserleaks.com screenshot made while using a VPN client (ProtonVPN). The IP addresses shown are the addresses of the VPN endpoint&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Browserleaks.com screenshot made while using a VPN client (ProtonVPN). The IP addresses shown are the addresses of the VPN endpoint" title="Browserleaks.com screenshot made while using a VPN client (ProtonVPN). The IP addresses shown are the addresses of the VPN endpoint" srcset="https://substackcdn.com/image/fetch/$s_!JvOA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 424w, https://substackcdn.com/image/fetch/$s_!JvOA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 848w, https://substackcdn.com/image/fetch/$s_!JvOA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 1272w, https://substackcdn.com/image/fetch/$s_!JvOA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36c935c0-4b88-4610-9a7e-2c7f4f4a4683_995x633.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 8.</figcaption></figure></div><p>Figure 8 shows a screenshot of the browserleaks&#8217; WebRTC test page [13]. Both the IPv4 and IPv6 addresses in the screenshot are located in New York, United States. I made this screenshot in the Netherlands, so my local IP address did not leak while I was using ProtonVPN. Other VPN clients or residential proxy services may have different results.</p><h3>WebRTC Client Side</h3><p>In 2015 Daniel Roesler exposed a WebRTC vulnerability on his github page [12], see also Figure 9. This vulnerability enables code running at the client to know its external IP address, even if the client is part of a local infrastructure with local addresses, eg. a corporate network or your home network, behind a firewall.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r1pu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r1pu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 424w, https://substackcdn.com/image/fetch/$s_!r1pu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 848w, https://substackcdn.com/image/fetch/$s_!r1pu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 1272w, https://substackcdn.com/image/fetch/$s_!r1pu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r1pu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png" width="752" height="463" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:463,&quot;width&quot;:752,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot from Daniel Roesler's github that explains what Javascript code can do to determine your local (ISP facing) IP address&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot from Daniel Roesler's github that explains what Javascript code can do to determine your local (ISP facing) IP address" title="Screenshot from Daniel Roesler's github that explains what Javascript code can do to determine your local (ISP facing) IP address" srcset="https://substackcdn.com/image/fetch/$s_!r1pu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 424w, https://substackcdn.com/image/fetch/$s_!r1pu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 848w, https://substackcdn.com/image/fetch/$s_!r1pu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 1272w, https://substackcdn.com/image/fetch/$s_!r1pu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94eb8b5d-0bc4-4c16-b178-51ca619e3e32_752x463.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 9. Screenshot from Daniel Roesler's github that explains what Javascript code can do to determine your local (ISP facing) IP address</figcaption></figure></div><p>Depending on your network configuration the JavaScript code on the github will be able to extract your local IP addresses of your device. In case of IPv4 the code will typically extract your internal network IP address, which is in most cases is a NAT (Network Address Translation) address, eg. 192.168.x.x or 10.x.x.x. However, with IPv6 the need for NAT disappeared. That means in many cases this technique reveals your true IPv6 address, and thus your true location, even though you are connected through a VPN, and behind a router/ firewall.</p><h2>9. Can bots solve CAPTCHAs?</h2><p>With the rise of AI you would expect that bots will be able to solve all CAPTCHAs automatically. That is correct up to a certain degree [14][15]. Images containing text, or simple image recognition is achievable with high accuracy. Figure 10 shows examples of CAPCHAs which can be solved automatically.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8a9D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8a9D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 424w, https://substackcdn.com/image/fetch/$s_!8a9D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 848w, https://substackcdn.com/image/fetch/$s_!8a9D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 1272w, https://substackcdn.com/image/fetch/$s_!8a9D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8a9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png" width="1209" height="516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:516,&quot;width&quot;:1209,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Text CAPTCHAs do not deter bots. This type of CAPTCHA can be solved automatically as bots are able to read using OCR (optical character reading)&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Text CAPTCHAs do not deter bots. This type of CAPTCHA can be solved automatically as bots are able to read using OCR (optical character reading)" title="Text CAPTCHAs do not deter bots. This type of CAPTCHA can be solved automatically as bots are able to read using OCR (optical character reading)" srcset="https://substackcdn.com/image/fetch/$s_!8a9D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 424w, https://substackcdn.com/image/fetch/$s_!8a9D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 848w, https://substackcdn.com/image/fetch/$s_!8a9D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 1272w, https://substackcdn.com/image/fetch/$s_!8a9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313e2b77-4482-450f-b09b-e001f1bb2953_1209x516.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 10. Text CAPTCHAs do not deter bots. This type of CAPTCHA can be solved automatically as bots are able to read using OCR (optical character reading)</figcaption></figure></div><p>More recent CAPTCHAs have become puzzles based on knowledge, where you need to have some subject knowledge in order to solve the CAPTCHA. Sometimes they even resemble an IQ test. Figure 11 contains a few example CAPTCHAs that require general knowledge, eg. animals that lay eggs, the usage of objects eg. vehicles on paved roads, and/or the monetary value of goods.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ko65!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ko65!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 424w, https://substackcdn.com/image/fetch/$s_!Ko65!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 848w, https://substackcdn.com/image/fetch/$s_!Ko65!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 1272w, https://substackcdn.com/image/fetch/$s_!Ko65!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ko65!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png" width="1280" height="775" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:775,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Examples of CAPTCHAs that are not based on OCR, but require a deeper level of interpretation and knowledge to solve&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Examples of CAPTCHAs that are not based on OCR, but require a deeper level of interpretation and knowledge to solve" title="Examples of CAPTCHAs that are not based on OCR, but require a deeper level of interpretation and knowledge to solve" srcset="https://substackcdn.com/image/fetch/$s_!Ko65!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 424w, https://substackcdn.com/image/fetch/$s_!Ko65!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 848w, https://substackcdn.com/image/fetch/$s_!Ko65!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 1272w, https://substackcdn.com/image/fetch/$s_!Ko65!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ab77156-7a32-4d98-9288-110622bc32e8_1280x775.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 11. Examples of CAPTCHAs that aren't based on OCR, but require a deeper level of interpretation and knowledge to solve</figcaption></figure></div><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iBH8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iBH8!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 424w, https://substackcdn.com/image/fetch/$s_!iBH8!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 848w, https://substackcdn.com/image/fetch/$s_!iBH8!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 1272w, https://substackcdn.com/image/fetch/$s_!iBH8!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iBH8!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif" width="320" height="303.7837837837838" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:281,&quot;width&quot;:296,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!iBH8!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 424w, https://substackcdn.com/image/fetch/$s_!iBH8!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 848w, https://substackcdn.com/image/fetch/$s_!iBH8!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 1272w, https://substackcdn.com/image/fetch/$s_!iBH8!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F046fea88-ae7c-4457-8979-6afcefe4602d_296x281.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 12. Animated examples of the sliding CAPTCHA.</figcaption></figure></div><blockquote></blockquote><h2>10. Can bots fake human interactions like mouse movements, clicks, scrolls and/or touches ?</h2><p>When a browser is controlled by browser automation software it is able to move the mouse to new locations. In CDP (Chrome Devtools Protocol) mouse movements, clicks and scrolls are controlled by dispatchMouseEvent [16]. This enables a developper to fully control the mouse and its buttons and wheels. The same accounts for touch events by using dispatchTouchEvent, which can be used to emulate mobile behavor [17].</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vIM1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vIM1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 424w, https://substackcdn.com/image/fetch/$s_!vIM1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 848w, https://substackcdn.com/image/fetch/$s_!vIM1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 1272w, https://substackcdn.com/image/fetch/$s_!vIM1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vIM1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png" width="1280" height="554" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:554,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;More complex mouse movements can be simulated with bezier curves or b-splines. The simulated mouse movements shown in this figure are made by mouse synthesizer&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="More complex mouse movements can be simulated with bezier curves or b-splines. The simulated mouse movements shown in this figure are made by mouse synthesizer" title="More complex mouse movements can be simulated with bezier curves or b-splines. The simulated mouse movements shown in this figure are made by mouse synthesizer" srcset="https://substackcdn.com/image/fetch/$s_!vIM1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 424w, https://substackcdn.com/image/fetch/$s_!vIM1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 848w, https://substackcdn.com/image/fetch/$s_!vIM1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 1272w, https://substackcdn.com/image/fetch/$s_!vIM1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b08eed7-ca9f-4ca9-8b22-2b92c4119c94_1280x554.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 13. More complex mouse movements can be simulated with bezier curves or b-splines. The simulated mouse movements shown in this figure are made by mouse synthesizer[19]</figcaption></figure></div><p>In order to simulate human behavior humanlike mouse paths must be generated instead of straight lines. This can be achieved using b-splines [18] or bezier curves. The software is able to generates a series of X,Y points based on a starting and an end-point based on the coordinates of elements in a page. The second step is to calculates a spline curve and timestamps how fast the mouse should move from the starting coordinate to the destination coordinate and at what time resolution. This technique enables fraudsters to perform humanlike mouse movements. This is exactly what mouse synthesizer [19] (see Figure 13) and ghost cursor do [20]. But, don't worry, of course this can be detected as no human is able to make perfect round curves using a mouse.</p><h2>Conclusion</h2><p>You might think why didn&#8217;t you write something about blacklisting IP addresses? If you&#8217;re able to create a sophisticated bot able to buy #taylorswift tickets then you&#8217;ll KNOW how to spoof, fake and/or emulate browser functionality. You are well aware that you have to use residential proxies, which means IP blacklisting will cause false positives. Filtering on IP addresses only works to exclude traffic from outside your country, but don&#8217;t forget if you&#8217;re in the US to include overseas territories like: Guam, American Samoa, Virgin Islands, etc.</p><p>You are aware that bots are able to fake (almost) anything. They can&#8217;t fake dynamic WebGL / GPU challenges but they will poison these challenges with noise in order to hide their headless appearance. CAPTCHAs do work to a certain degree, but they do annoy humans and thus cause friction to their journey.</p><p>So, can these sophisticated bots be detected? Sure they can. Once you know how bots override properties, fake answers, and hide their true appearance you know where and what to look for. Lastly, browser automation will cause &#8220;browser automation&#8221;-leakage. Spotting these leakages and traces of automation will reveal the true nature of the bot accessing your website.</p><p></p><p>Questions? Corrections? Remarks? Need help with bots and fraud? Feel free to connect, comment or DM</p><blockquote><p>#adfraud #bots #CMO #digitalmarketing #browserautomation #clickfraud</p><p>[1] <a href="https://developer.mozilla.org/en-US/docs/Web/API/Location">https://developer.mozilla.org/en-US/docs/Web/API/Location</a></p><p>[2] <a href="https://developers.google.com/admob/ios/browser/webview/api-for-ads">https://developers.google.com/admob/ios/browser/webview/api-for-ads</a></p><p>[3] <a href="https://developers.google.com/admob/android/browser/webview">https://developers.google.com/admob/android/browser/webview</a></p><p>[4] <a href="https://elie.net/static/files/picasso-lightweight-device-class-fingerprinting-for-web-clients/picasso-lightweight-device-class-fingerprinting-for-web-clients-paper.pdf">https://elie.net/static/files/picasso-lightweight-device-class-fingerprinting-for-web-clients/picasso-lightweight-device-class-fingerprinting-for-web-clients-paper.pdf</a></p><p>[5] <a href="https://cdn.elie.net/static/files/picasso-lightweight-device-class-fingerprinting-for-web-clients/picasso-lightweight-device-class-fingerprinting-for-web-clients-slides.pdf">https://cdn.elie.net/static/files/picasso-lightweight-device-class-fingerprinting-for-web-clients/picasso-lightweight-device-class-fingerprinting-for-web-clients-slides.pdf</a></p><p>[6] </p><p>https://privacybadger.org/</p><p>[7] <a href="https://en.wikipedia.org/wiki/Cipher_suite#TLS_1.0%E2%80%931.2_handshake">https://en.wikipedia.org/wiki/Cipher_suite#TLS_1.0%E2%80%931.2_handshake</a></p><p>[8] <a href="https://github.com/lwthiker/curl-impersonate">https://github.com/lwthiker/curl-impersonate</a></p><p>[9] <a href="https://github.com/Danny-Dasilva/CycleTLS">https://github.com/Danny-Dasilva/CycleTLS</a></p><p>[10] <a href="https://github.com/Noooste/azuretls-client">https://github.com/Noooste/azuretls-client</a></p><p>[11] <a href="https://en.wikipedia.org/wiki/WebRTC">https://en.wikipedia.org/wiki/WebRTC</a></p><p>[12] <a href="https://github.com/diafygi/webrtc-ips">https://github.com/diafygi/webrtc-ips</a></p><p>[13] <a href="https://browserleaks.com/webrtc">https://browserleaks.com/webrtc</a></p><p>[14] <a href="https://arxiv.org/abs/2307.12108">https://arxiv.org/abs/2307.12108</a></p><p>[15] <a href="https://arxiv.org/abs/2307.10239">https://arxiv.org/abs/2307.10239</a></p><p>[16] <a href="https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent">https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent</a></p><p>[17] <a href="https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchTouchEvent">https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchTouchEvent</a></p><p>[18] <a href="https://en.wikipedia.org/wiki/B-spline">https://en.wikipedia.org/wiki/B-spline</a></p><p>[19] <a href="https://github.com/MIMIC-LOGICS/Mouse-Synthesizer/tree/main">https://github.com/MIMIC-LOGICS/Mouse-Synthesizer/tree/main</a></p><p>[20] <a href="https://github.com/Xetera/ghost-cursor">https://github.com/Xetera/ghost-cursor</a></p><p>[21] <a href="https://www.mimic.sbs/antibot/On-Anti-Bot-Biometric-Protections.md/">https://www.mimic.sbs/antibot/On-Anti-Bot-Biometric-Protections.md/</a></p><p>[23] <a href="https://www.linkedin.com/posts/kouwenhovensander_taylorswift-adfraud-adfraud-activity-7199384350369431552-t8EZ">https://www.linkedin.com/posts/kouwenhovensander_taylorswift-adfraud-adfraud-activity-7199384350369431552-t8EZ</a></p><p>[24] <a href="https://github.com/salesforce/ja3">https://github.com/salesforce/ja3</a></p><p>[25] <a href="https://chromestatus.com/feature/5124606246518784">https://chromestatus.com/feature/5124606246518784</a></p><p>[26] <a href="https://github.com/yifeikong/curl_cffi">https://github.com/yifeikong/curl_cffi</a></p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How to Scale Your Lead Generation Campaigns without Scaling Fraud and Its Risks]]></title><description><![CDATA[How to scale your lead generation campaigns without scaling problems such as fraud, TCPA violations and its risks?]]></description><link>https://news.oxford-biochron.com/p/how-to-scale-your-lead-generation</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/how-to-scale-your-lead-generation</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Wed, 19 Jun 2024 18:04:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cTFy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cTFy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cTFy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!cTFy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!cTFy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!cTFy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cTFy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235141,&quot;alt&quot;:&quot;Figure 1. How to organize and manage your B2C lead generation campaigns at scale without scaling fraud and its risks&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 1. How to organize and manage your B2C lead generation campaigns at scale without scaling fraud and its risks" title="Figure 1. How to organize and manage your B2C lead generation campaigns at scale without scaling fraud and its risks" srcset="https://substackcdn.com/image/fetch/$s_!cTFy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!cTFy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!cTFy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!cTFy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de4d8cf-9202-4417-87b0-23e62ffb6d84_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. How to organize and manage your B2C lead generation campaigns at scale without scaling fraud and its risks</figcaption></figure></div><p>How to scale your lead generation campaigns without scaling problems such as fraud, TCPA violations and its risks?</p><p>Most B2C companies generating leads have never experienced the luxury of knowing which lead may convert and which lead will never ever convert, simply because it is fraudulent. Some companies have added bot detection, but these detections are still circumvented by human operated fraud. Some have added CAPTCHAs to their landing pages to prevent bots from filling out contact forms. Unfortunately, in lead generation the profits are high enough that fraudsters are able to afford paid CAPTCHA solver services, eg. 2captcha, and you didn&#8217;t solve your fraud problem. Humans, however, will be annoyed by CAPTCHAs as it affects their user experience. It only creates friction and frustration. Some hate CAPTCHAs so much that they immediately close their browser tab and you&#8217;ve lost a prospect.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7E5Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7E5Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 424w, https://substackcdn.com/image/fetch/$s_!7E5Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 848w, https://substackcdn.com/image/fetch/$s_!7E5Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 1272w, https://substackcdn.com/image/fetch/$s_!7E5Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7E5Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png" width="1456" height="639" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:639,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:611563,&quot;alt&quot;:&quot;Figure 2. Examples of CAPTCHAs causing friction and frustration&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 2. Examples of CAPTCHAs causing friction and frustration" title="Figure 2. Examples of CAPTCHAs causing friction and frustration" srcset="https://substackcdn.com/image/fetch/$s_!7E5Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 424w, https://substackcdn.com/image/fetch/$s_!7E5Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 848w, https://substackcdn.com/image/fetch/$s_!7E5Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 1272w, https://substackcdn.com/image/fetch/$s_!7E5Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53810130-43a1-4291-8cb8-d75aa1a11400_1823x800.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Examples of CAPTCHAs causing friction and frustration</figcaption></figure></div><h3>So, what does work?</h3><p>Frictionless fraud detection that detects both bots and human operated fraud and conveys the fraud status in real-time with low latency to you. The fraud status needs to be conveyed to you prior to making the call. This prevents you from following up on fraudulent leads. The fraud detection needs to be accurate, preventing flagging real humans as fraud (ie. false positives) and thus missing business. It also needs to prevent fraud slipping through (ie. false negatives). To some this may sound like science fiction or wishful thinking, but this is what our clients experience. The result is:</p><ul><li><p>You know upfront which generated lead is real, and which lead is fraudulent</p></li><li><p>Your call center only contacts real leads submitted by humans interested in your product or service</p></li><li><p>Your campaign data and analysis of the campaign&#8217;s audience and performance will be based on &#8216;clean data&#8217;</p></li><li><p>Clean data means you will be optimizing towards humans</p></li><li><p>Fraudulent leads often result in contacting someone without their written consent, violating the TCPA act. The callees are simply the victim of data breaches and you are the victim of lead generation fraud.</p></li></ul><p>Mitigating risks enables you to scale your lead generation campaigns without scaling the problematic parts and thus becoming an unmanageable risk. Though, the problematic parts will scale similarly, flagging them in advance as fraud prevents you from calling these fraudulent leads. This prevents you from becoming a victim of litigation costs. We all know that TCPA settlements are steep, and nobody wants to be on the frontpage of <a href="http://tcpaworld.com/">tcpaworld.com</a> having a headline: &#8216;... sued in a TCPA class action&#8217;!</p><p>In short, what are your risk mitigation mechanisms:</p><ul><li><p>Include lead generation fraud detection on your contact forms as the first line of defence</p></li><li><p>Check prospect&#8217;s contact data: Is it on the litigator scrub list? In the Do Not Call Registry?</p></li><li><p>Check whether the contact data does checkout with verification services</p></li><li><p>Obtain &#8216;proof of consent&#8217; for every generated lead you are going to follow up</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gwta!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gwta!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 424w, https://substackcdn.com/image/fetch/$s_!Gwta!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 848w, https://substackcdn.com/image/fetch/$s_!Gwta!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwta!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gwta!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png" width="1007" height="311" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:311,&quot;width&quot;:1007,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44003,&quot;alt&quot;:&quot;Figure 3. Google search results showing the fine per made call violating the TCPA act.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 3. Google search results showing the fine per made call violating the TCPA act." title="Figure 3. Google search results showing the fine per made call violating the TCPA act." srcset="https://substackcdn.com/image/fetch/$s_!Gwta!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 424w, https://substackcdn.com/image/fetch/$s_!Gwta!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 848w, https://substackcdn.com/image/fetch/$s_!Gwta!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwta!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9bb2ffa-1a16-4c3a-82ee-217b7e52c90d_1007x311.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. Google search results showing the fine per made call violating the TCPA act.</figcaption></figure></div><h3>How does it work?</h3><p>Figure 1 shows the four parties actively involved when generating leads in B2C, these are:</p><ol><li><p>You. You want human prospects attracted by and interested in your product or service.</p></li><li><p>Your in-house marketing campaigns, affiliates, agencies, social media platforms, search engines, linear TV, CTV, programmatic, mailing lists, magazines, SMS / text messaging, etc.</p></li><li><p>The visitor arriving at your landing page. This can be organic traffic, or paid traffic (2)</p></li><li><p>Fraud detection by Oxford BioChronometrics</p></li></ol><p>As you (1) only want to pay for human visitors viewing your ads and arriving at your landing page (3), you&#8217;ll need to verify these visitors using a fraud detection (4). This enables you to assess whether the affiliates, social media platforms, search engines, etc. (2) bring you real humans or bots, fraudsters and crooks.</p><ul><li><p>A. You will run your digital marketing campaigns, a weekly mailing, buy keywords and pay per click, or hire 3rd parties and pay per click or generated lead, etc.</p></li><li><p>B. Visitors, prospects clicking on your ads, links in emails, etc. are redirected to your landing page</p></li><li><p>C. The landing page contains a contact form to be filled out</p></li><li><p>D. The Oxford BioChronometrics fraud detection tag is present on the contact form and inspects the session</p></li><li><p>E. The findings of the fraud detection tag are conveyed to Oxford BioChronometrics for analysis</p></li><li><p>F. Interested prospects fill out the contact form with their contact details.</p></li><li><p>G. You will receive the fraud detection status associated with the contact form prior to making the call. Your call center will only contact the prospect to close the deal if the lead is genuine. Besides the fraud status you will also record proof of consent, check the do-not-call list, check the lead data with verification services.</p></li><li><p>H. You aggregate the numbers per source per month and only pay for human traffic. You either get a refund or credit traffic. You refuse to pay for fraud, make sure for each source your contract contains such a clause.</p></li></ul><h3>How does this setup help you?</h3><p>You save up to 10% - 20% of your digital marketing budget, depending on your fraud levels. Secondly, you don&#8217;t follow up on fraudulent generated leads. These fraudulent leads truly look genuine, but the contact data is typically based on stolen PII data. That means you are contacting someone without express consent, which is costly in case you call someone who will sue you. The bare minimum of a TCPA settlement is $500 but in reality it is much much more. At scale, if only 1% of the fraudulent generated leads is going to sue you (that&#8217;s ~1% of ~1% and thus ~1 in 10,000 generated leads), you have a serious problem. Mitigating this is a must!</p><p>The most undervalued one is you get clean data, this is your long-term gain: Analysis will enable you to know what works to attract quality: Humans, not fraudsters. Knowing what drives your audience, what works and what not (with real humans), that&#8217;s what also enables you to scale!</p><p>I&#8217;m sure you still might have questions like: How to implement the detection tag? How to connect to the fraud status API? How can the fraud status be associated with a specific contact form? How to integrate the fraud status in your pipeline? How to setup a test in order to validate your claims? How to know which source is fraudulent?</p><p>Just connect, comment or send a DM</p><p>Appointment <a href="https://calendly.com/jeff-martinez/ox-bio">HERE</a>.</p><p><strong>#adfraud #leadgeneration #B2C #frauddetection #TCPA #howtoscale</strong></p><p></p><p></p><p></p><p></p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How Does Bot and Human Operated Fraud Work? ]]></title><description><![CDATA[In Digital Advertising: Request Based, Browser Based, Human Operated]]></description><link>https://news.oxford-biochron.com/p/how-does-bot-and-human-operated-fraud</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/how-does-bot-and-human-operated-fraud</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 31 May 2024 15:24:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H-JH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H-JH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H-JH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 424w, https://substackcdn.com/image/fetch/$s_!H-JH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 848w, https://substackcdn.com/image/fetch/$s_!H-JH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 1272w, https://substackcdn.com/image/fetch/$s_!H-JH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H-JH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png" width="1456" height="2589" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2589,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:415302,&quot;alt&quot;:&quot;Infographic showing the differences between bots in the digital advertising ecosystem and bots scraping and/or scalping.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Infographic showing the differences between bots in the digital advertising ecosystem and bots scraping and/or scalping." title="Infographic showing the differences between bots in the digital advertising ecosystem and bots scraping and/or scalping." srcset="https://substackcdn.com/image/fetch/$s_!H-JH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 424w, https://substackcdn.com/image/fetch/$s_!H-JH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 848w, https://substackcdn.com/image/fetch/$s_!H-JH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 1272w, https://substackcdn.com/image/fetch/$s_!H-JH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2d7a41-88d9-4c91-9a2d-313056b36168_1500x2667.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Infographic showing the differences between bots in the digital advertising ecosystem and bots scraping and/or scalping.</figcaption></figure></div><p>According <a href="http://statista.com/">statista.com</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>  the number of bots in 2022 on the Internet was ~50%. This bot traffic can be split in two parts:</p><ol><li><p>Good bots: Search engines, internet archive, malware scans, etc.</p></li><li><p>Bad bots: Scraping, scalping, ad fraud, DDoS attacks, etc.</p></li></ol><p>Respectively 17.3% and 30.2 of the total traffic [1] are good and bad bots. The main technical difference between good bots and bad bots is that bad bots try to blend in with human traffic by technically changing their appearance, ie. user agent, use residential proxies, change their TLS fingerprint in order to match the provided user agent, prevent browser automation leaks, etc. Good bots declare themselves, see the table 1 for some examples.</p><p>According <a href="http://statista.com/">statista.com</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> the number of bots in 2022 on the Internet was ~50%. This bot traffic can be split in two parts:</p><ol><li><p>Good bots: Search engines, internet archive, malware scans, etc.</p></li><li><p>Bad bots: Scraping, scalping, ad fraud, DDoS attacks, etc.</p></li></ol><p>Respectively 17.3% and 30.2 of the total traffic  are good and bad bots. The main technical difference between good bots and bad bots is that bad bots try to blend in with human traffic by technically changing their appearance, ie. user agent, use residential proxies, change their TLS fingerprint in order to match the provided user agent, prevent browser automation leaks, etc. Good bots declare themselves, see the table 1 for some examples.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vyg4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vyg4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 424w, https://substackcdn.com/image/fetch/$s_!vyg4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 848w, https://substackcdn.com/image/fetch/$s_!vyg4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 1272w, https://substackcdn.com/image/fetch/$s_!vyg4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vyg4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png" width="754" height="347" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:347,&quot;width&quot;:754,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!vyg4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 424w, https://substackcdn.com/image/fetch/$s_!vyg4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 848w, https://substackcdn.com/image/fetch/$s_!vyg4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 1272w, https://substackcdn.com/image/fetch/$s_!vyg4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd106aa70-6fb7-4be7-ab37-fd23fd190410_754x347.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Table 1. Some examples of bots declaring themselves</figcaption></figure></div><p>One valid question would be: What are all these bots doing? Bots are used to monetize something. This can be scraping information, polling the website for the exact sneaker release moment, but also loading ads, clicking ads, etc. There are more flavors, but in general the bot world can technically be split into these two major groups:</p><ol><li><p>Scraping and scalping information, purchase limited goods, tickets</p></li><li><p>Ad fraud, click fraud, and lead gen fraud</p></li></ol><p>Interestingly, vendors protecting businesses from these two bot classifications can also be split in two groups. The vendors protecting retail websites and ticket sales actively block bots when they see them. Vendors in the advertising world don&#8217;t block bots, but passively detect bot traffic.</p><p>Passive bot detection has advantages: The biggest advantage is that you don&#8217;t provide a direct feedback loop to the bot makers. Bot developers simply don&#8217;t know whether their bots are flagged or not, at least not instantly. It also has disadvantages, for example: Having an ecommerce site with millions of articles means that bots will scrape product info round the clock, costing a lot of bandwidth and CPU cycles especially when bots scrape the long tail of products as the information and images are typically not cached. That&#8217;s a valid reason why bots are actively blocked, even though the effect is that it forces bot makers to quickly evolve.</p><p>In digital marketing active blocking bots would imply that detected bots are not able to load advertisements while the business model of all players in the ecosystem is based on volume. Publishers or websites showing advertisements, ad verification vendors, and all middleman in the ecosystem, make money based on volume. More ads means more impressions and ad verifications which means more money to both the verification companies and the publishers or websites where the ads were shown! Solving the bot problem by actively blocking bots would cost them 20%, 30%, 40% and in some cases over 50%.</p><h3>Technology wise: How do bots work?</h3><p>In order to run bots at scale the right technology stack needs to be chosen, the less overhead the better. The cheapest way to run a bot is by generating and firing the HTTPS requests directly, without a browser or App. This is how scrapers were able to scrape price and seat information from airlines, buy limited edition sneakers and PS5s at the release date, concert tickets, and sports event tickets.</p><p>In response to scraping anti-bot vendors started to block bots by simply looking at the combination of the user agent, TLS fingerprint and some basic JavaScript challenge-response tests. If the returned payload didn&#8217;t match the expected answer to the challenge, or was inconsistent, contained traces of browser automation, etc. the WAF (web application firewall) would simply block access and would return: HTTP status 403<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a> or 429<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a>  and blacklist the IP address for 10, 20 or 30 minutes.</p><p>Checking for bot traffic at each request is expensive. That&#8217;s where access tokens, aka. access cookies, appear. Once a browser is approved by the anti-bot&#8217;s backend it will receive an access token, which expires after eg. 10 minutes or a max number of requests. Each subsequent request within the 10 minutes providing this access token will be allowed and receive a normal response.</p><p>This is exploited by bot makers. They will obtain an access token using a fully fledged browser and once a valid token is obtained, the bot switches to pure HTTP requests and continues until the token expires. The reason is, browsers are slow cost of lot of CPU and memory resources preventing to scale on a single node, etc. Of course the anti-bot answer is to validate whether the client requests all non&nbsp; essential components in a webpage, whether the client&#8217;s traversal path through the website is a normal human path, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RY-m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RY-m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 424w, https://substackcdn.com/image/fetch/$s_!RY-m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 848w, https://substackcdn.com/image/fetch/$s_!RY-m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 1272w, https://substackcdn.com/image/fetch/$s_!RY-m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RY-m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png" width="859" height="520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:520,&quot;width&quot;:859,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API provider advertising to prospects to bypass popular commercial anti-bot vendors&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API provider advertising to prospects to bypass popular commercial anti-bot vendors" title="API provider advertising to prospects to bypass popular commercial anti-bot vendors" srcset="https://substackcdn.com/image/fetch/$s_!RY-m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 424w, https://substackcdn.com/image/fetch/$s_!RY-m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 848w, https://substackcdn.com/image/fetch/$s_!RY-m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 1272w, https://substackcdn.com/image/fetch/$s_!RY-m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05d3ab46-9d50-4e1d-a692-c30ffd254cc5_859x520.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. API provider advertising to prospects to bypass popular commercial anti-bot vendors</figcaption></figure></div><p>The stakes are high, that&#8217;s why services offering to bypass anti-bot vendors are popular and very profitable. Their services are often offered as an API where you send your request to the API, which forwards the request like a proxy server to the target website or App backend. The API controls a browser or software fully emulating the detection JavaScript, network packets and TLS fingerprint in order to return a perfect and correct payload to the anti-bot vendor, which will respond with an access token allowing free passage to the next several requests.</p><p>Knowing that the most difficult part of scalping and scraping is being maintained by the &#8220;10 best reverse engineers in the world&#8221;, see Figure 1 will give you peace of mind when you are trying to setup an organization to resell #taylorswift tickets, #PS5 consoles or limited #nike sneakers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CdHV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CdHV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 424w, https://substackcdn.com/image/fetch/$s_!CdHV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 848w, https://substackcdn.com/image/fetch/$s_!CdHV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 1272w, https://substackcdn.com/image/fetch/$s_!CdHV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CdHV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png" width="955" height="280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:280,&quot;width&quot;:955,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API provider advertising to bypass Ticketmaster&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API provider advertising to bypass Ticketmaster" title="API provider advertising to bypass Ticketmaster" srcset="https://substackcdn.com/image/fetch/$s_!CdHV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 424w, https://substackcdn.com/image/fetch/$s_!CdHV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 848w, https://substackcdn.com/image/fetch/$s_!CdHV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 1272w, https://substackcdn.com/image/fetch/$s_!CdHV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ce70295-a2a4-4f50-ad27-391ae86e7fee_955x280.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2.</figcaption></figure></div><p>Luckily there are many more of these APIs available, so there&#8217;s always a backup.</p><p>So, what do Ticketmaster, Nike, Sony, but also poker and gambling sites do about this? Because they surely know that these anti-anti-bot services exist and only keep amateur scrapers and hobbyist scalpers away. Their answer is to stack vendors. Some have multiple anti-bot vendors protecting their sites and backend APIs with which their Apps communicate and the bad guys needs to bypass each of the anti-bots. From the brand&#8217;s perspective it probably is: The majority vote counts. If 2 out of 3 anti-bot vendors say it&#8217;s human, it probably is. Bots have evolved quickly because of the direct feedback loop, ie. blocked access when detected. That enabled bot makers to quickly evolve their bots and now the best ones are winning, and monetizing their hard work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sD26!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sD26!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 424w, https://substackcdn.com/image/fetch/$s_!sD26!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 848w, https://substackcdn.com/image/fetch/$s_!sD26!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 1272w, https://substackcdn.com/image/fetch/$s_!sD26!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sD26!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png" width="788" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7546f131-ed1a-4020-be77-c9930938796b_788x777.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:788,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API provider advertising to bypass for example Ticketmaster&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API provider advertising to bypass for example Ticketmaster" title="API provider advertising to bypass for example Ticketmaster" srcset="https://substackcdn.com/image/fetch/$s_!sD26!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 424w, https://substackcdn.com/image/fetch/$s_!sD26!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 848w, https://substackcdn.com/image/fetch/$s_!sD26!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 1272w, https://substackcdn.com/image/fetch/$s_!sD26!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7546f131-ed1a-4020-be77-c9930938796b_788x777.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3.</figcaption></figure></div><p>The number of checks which can be done at the request itself, the network stack, TLS, the browser object models, audio and webgl canvas fingerprinting, etc. is limited<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-5" href="#footnote-5" target="_self">5</a> , while browsers become more restricted and lose entropy due to privacy and anti-tracking. The answer is that anti-bot vendors will randomly change the challenges over time, again it seems that isn&#8217;t affecting the services of these API providers.</p><p>Anti-bot vendors have tried to make it more difficult by implementing virtual machines in JavaScript. This means that JavaScript code is not executed directly, but is implemented in bytecode and has to be fetched, decoded and executed by JavaScript code. Over time the opcodes, encryption methods and keys, etc. will change making static responses useless. Again, this only raises the bar and will weed out amateurs while the professionals laugh about it. Though, if it becomes too hard to bypass and the profits are high enough low wage workers and farms will be used to buy sneakers and tickets manually. The same farms are used to solve new types of CAPTCHAs which cannot be solved yet by software, eg. sliding puzzles.</p><h2>Anti-bot vendors VS. Ad fraud detection</h2><p>Why does this &#8216;anti-bot vendor versus scrapers and scalpers&#8217; fight look so different when comparing it to the fight in digital advertising ecosystem? It can&#8217;t be explained by the amount of dollars involved. The answer can be found in what clients expect from their anti-bot vendor to protect their assets or spend. When #Sony released the #PS5 a large portion of the consoles were being flipped at markup of 200% and that isn&#8217;t good for the brand&#8217;s reputation. The same with Taylor Swift tickets: A lot of unhappy fans having to pay more than double the orginial ticket price.</p><p>In digital advertising a direct feedback loop doesn&#8217;t exist. If an advertisement has 1,000,000 impressions, it will have between 2,000 and 5,000 clicks at a click-through-rate of 0.2% to 0.5%. The number of conversions to leads or sales is again between 2% to 8% of the clicks. This means that 1 million impressions will convert to 40 (2% of 2,000) [low estimate] and 400 (8% of 5,000) [high estimate] leads or sales. But, if half of the impressions (500,000) were shown to bots and the other half (500,000) converted to 100 leads or sales the campaign would be considered successful, where it could have been 200 leads or sales.</p><p>The difference is that people will start complaining on social media when tickets, playstations or sneakers are sold out instantly and only available at a 200% - 300% markup, while the people working in digital marketing didn&#8217;t even realize that they could have doubled the business outcome.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2wAT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2wAT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2wAT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2wAT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2wAT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2wAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Star Wars - A New Hope Still. Subtitles are: These aren't the bots you're looking for&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Star Wars - A New Hope Still. Subtitles are: These aren't the bots you're looking for" title="Star Wars - A New Hope Still. Subtitles are: These aren't the bots you're looking for" srcset="https://substackcdn.com/image/fetch/$s_!2wAT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2wAT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2wAT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2wAT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9604258c-1cf9-4650-a19b-af98c98e6140_1280x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. These aren't the bots you're looking for</figcaption></figure></div><p>Technically, the differences between ad fraud detection vendors in the digital marketing ecosystem and anti-bot vendors protecting brands against scraping and/or scalping are enormous. The anti-bot vendors protecting websites from scrapers and scalpers do block access to bots and thus are required to evolve quicker and find creative ways of detecting bots in order to keep up with the bot makers. In digital marketing vendors keep on using the same detection for years, while on the offensive side the bot creators use the experience from the scraping and scalping world and thus evolve continuously. Ad fraud detection vendors don&#8217;t have a feedback loop telling them what works and what not.</p><p>So, How do ad fraud detection vendors without a feedback loop know if their detection works? They don&#8217;t and if they detect high rates of fraud it is most likely based on assumptions. That&#8217;s why most ad fraud detections in digital marketing are laughable: &#8220;These aren&#8217;t the bots you&#8217;re looking for. Move along, move along&#8221;.</p><p>In lead generation our clients will contact the prospects and will know whether Oxford BioChronometrics' SecureLead did catch the fraud, or not. If our detection would be based on assumptions it would cost them business due to false positives<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-6" href="#footnote-6" target="_self">6</a>, and by not catching the real fraud it would increase litigation risk simply because following up on generated lead and thus calling people without their consent is risky. Some of these callees will start legal action which has to be settled and will cost a ton of money.</p><h2>Now what?</h2><p>If you want to be sure your ad fraud vendor detects fraud and fraud only, you should be asking the right questions. Questions like:</p><ul><li><p>On what criteria does your detection flag bots and/or fraud?</p></li><li><p>Do you have a feedback loop to know what works?</p></li><li><p>If not, how do you know your detection works accurately?</p></li></ul><p>The past few years have shown many examples that you simply cannot trust any vendor in the digital marketing ecosystem, eg. MFA sites, MFA on publisher&#8217;s subdomains, long tail websites sold as premium, audience networks, fake Apps loading ads in the background, free gaming apps where the gamer has to click on an ad to continue, should I go on? An ad fraud detection vendor showing a dashboard with decreasing numbers is like the butcher certifying its own meat. Quarterly reports with low bot percentages smells like willful ignorance.</p><p>What value do such charts or claims really have? Not much without the option to see why individual bots and/or fraud were flagged (the discrete decision). When a decreased ad fraud percentage can&#8217;t directly be tied to increased business outcomes like sales and increased quality of generated leads, you still don&#8217;t know whether the fraud detection fails to flag fraud, or the quality of traffic improved.</p><p>I can assure you browser automation and bot detection at scale is discrete and thus a yes / no. Human operated fraud detection has more shades as it is based on interactional behavior and looking at flow. But, luckily, percentage wise human operated fraud is relatively small simply because it is expensive to scale.</p><p><strong>Questions? Feel free to comment, connect or DM</strong></p><p></p><p>#adfraud #leadgeneration #CMO #botdetection</p><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://www.statista.com/statistics/1264226/human-and-bot-web-traffic-share/">https://www.statista.com/statistics/1264226/human-and-bot-web-traffic-share/</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://www.statista.com/statistics/1264226/human-and-bot-web-traffic-share/">https://www.statista.com/statistics/1264226/human-and-bot-web-traffic-share/</a></p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-5" href="#footnote-anchor-5" class="footnote-number" contenteditable="false" target="_self">5</a><div class="footnote-content"><p>https://www.linkedin.com/posts/kouwenhovensander_frauddetection-fingerprinting-activity-7049009901523656705-xrkX</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-6" href="#footnote-anchor-6" class="footnote-number" contenteditable="false" target="_self">6</a><div class="footnote-content"><p>https://www.linkedin.com/posts/kouwenhovensander_adfraud-b2c-digitalmarketing-activity-7125112905296957441-O4Wp</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Let’s Talk About Facebook Again]]></title><description><![CDATA[In-App Click Fraud Part 2]]></description><link>https://news.oxford-biochron.com/p/lets-talk-about-facebook-again</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/lets-talk-about-facebook-again</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 10 May 2024 15:02:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!74le!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!74le!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!74le!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 424w, https://substackcdn.com/image/fetch/$s_!74le!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 848w, https://substackcdn.com/image/fetch/$s_!74le!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 1272w, https://substackcdn.com/image/fetch/$s_!74le!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!74le!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png" width="1238" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1238,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48442,&quot;alt&quot;:&quot;Facebook in-app clickfraud - part 2&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Facebook in-app clickfraud - part 2" title="Facebook in-app clickfraud - part 2" srcset="https://substackcdn.com/image/fetch/$s_!74le!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 424w, https://substackcdn.com/image/fetch/$s_!74le!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 848w, https://substackcdn.com/image/fetch/$s_!74le!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 1272w, https://substackcdn.com/image/fetch/$s_!74le!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe573a3cb-d2ec-46b5-a327-d68592f49beb_1238x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Facebook In-App Click Fraud - Part 2</figcaption></figure></div><p>Let&#8217;s talk about <a href="https://www.linkedin.com/company/meta/">Meta</a>'s Facebook again.</p><p>Last week&#8217;s post showed that <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>detected large numbers of fraudulent clicks coming from the Android Facebook app. Without a fraud detection tag on your landing pages these fake clicks look like regular clicks and your campaigns running on Facebook would look successful. Again this proves in digital it is easy to fake things and without any form of protection you would think your campaigns get traction. Yeah, by bots, fraudsters and imposters.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Because we all know talk is cheap, this second post will show some hard data and evidence, real results and breakdowns of data. The first example is based on a large company running many campaigns from many sources simultaneously. The second example is a small company (hospitality), they don&#8217;t have much budget so they try to spend it wisely.</p><h3>How to read the charts and data</h3><p>Before showing charts, it is also important to know how to read the chart and what information is available in the chart. The charts have the same colors as FouAnalytics, because I like that colorscheme and it is also colorblind proof. I&#8217;m not colorblind but have shown these charts to two friends who are red-green color blind.</p><p>The top section of a chart is a percentage stacked barchart where each color shows the amount of traffic of that kind. At the left upper corner the clientname is listed, which can be anonimized when choosing not to disclose the clientname. The code next to the name is the time frame. Possible time frames are M2, M5, M15, M30 which stands respectively for 2, 5, 15 and 30 minutes. H1, H4, H12 is one hour, 4 hours, 12 hours, and D1 which is a daily barchart. Each bar represents one time frame, which is listed at the left upper corner. Changing time frames allows to zoom in and zoom out when something happened in the data and you want to look at details. The last part of the label is the pivot value and determines how the data is broken down into segments. The pivotvalue can be stacked to create a compound pivot (maximal 4), eg. you could look at Facebook traffic from Canada on Android devices, or Google traffic from Wisconsin using a specific search term.</p><p>The green barchart is the volume of the traffic. It follows the same time frame and is vertically automatically scaled. Between these charts some date-time labels are printed. These are rounded down to the time frame.</p><p>The legend would be:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qqCO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qqCO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 424w, https://substackcdn.com/image/fetch/$s_!qqCO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 848w, https://substackcdn.com/image/fetch/$s_!qqCO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 1272w, https://substackcdn.com/image/fetch/$s_!qqCO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qqCO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png" width="1065" height="435" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:435,&quot;width&quot;:1065,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!qqCO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 424w, https://substackcdn.com/image/fetch/$s_!qqCO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 848w, https://substackcdn.com/image/fetch/$s_!qqCO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 1272w, https://substackcdn.com/image/fetch/$s_!qqCO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21a1dc3e-6a53-4d37-89f2-ce4c69934889_1065x435.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. The legend of the charts in the Figures below.</figcaption></figure></div><p>The difference between FouAnalytics and <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>is that <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>has less &#8216;looks like bot&#8217; and &#8216;looks like human&#8217; aka human-ish classification. Only a fraction of the visits will fit this &#8216;gray area&#8217; where the detection is uncertain what it really is.</p><h2>The juice</h2><p>First we&#8217;ll start with a large client running multiple campaigns concurrently. The chart is based on traffic arriving at their landing pages (after the click). This means that looking at the totals both paid and organic traffic ar included in the data.</p><h3>FTSE 100 company</h3><p>The first chart shows all traffic arriving at their landing pages. It shows some levels of fraud, but also a real good portion human traffic.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SnkN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SnkN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 424w, https://substackcdn.com/image/fetch/$s_!SnkN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 848w, https://substackcdn.com/image/fetch/$s_!SnkN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 1272w, https://substackcdn.com/image/fetch/$s_!SnkN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SnkN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png" width="1456" height="221" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:221,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!SnkN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 424w, https://substackcdn.com/image/fetch/$s_!SnkN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 848w, https://substackcdn.com/image/fetch/$s_!SnkN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 1272w, https://substackcdn.com/image/fetch/$s_!SnkN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3917eb27-311a-4766-8b56-8ae326cd716b_1715x260.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 2. All data arriving at the landing pages, both organic and all paid traffic are combined in a single view.</figcaption></figure></div><p>Of course our clients are only interested in: How much paid traffic was fraudulent? So, we&#8217;ll need to split that combination chart into organic and paid.</p><p>This is how the organic traffic looks like. It contains a lot of bot traffic. Though these bots might have some impact on the infrastructure and costs, but that&#8217;s a fraction of the attribution costs.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sluY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sluY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 424w, https://substackcdn.com/image/fetch/$s_!sluY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 848w, https://substackcdn.com/image/fetch/$s_!sluY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 1272w, https://substackcdn.com/image/fetch/$s_!sluY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sluY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png" width="1456" height="221" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:221,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!sluY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 424w, https://substackcdn.com/image/fetch/$s_!sluY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 848w, https://substackcdn.com/image/fetch/$s_!sluY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 1272w, https://substackcdn.com/image/fetch/$s_!sluY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc42ecc7-b034-4a2b-b3e9-d5a794cf9b39_1718x261.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 3. All organic traffic data arriving at the landing pages.</figcaption></figure></div><p>The same chart but now paid traffic. And this looks much quieter than the organic traffic.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BXbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BXbJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 424w, https://substackcdn.com/image/fetch/$s_!BXbJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 848w, https://substackcdn.com/image/fetch/$s_!BXbJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 1272w, https://substackcdn.com/image/fetch/$s_!BXbJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BXbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png" width="1456" height="222" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:222,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BXbJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 424w, https://substackcdn.com/image/fetch/$s_!BXbJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 848w, https://substackcdn.com/image/fetch/$s_!BXbJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 1272w, https://substackcdn.com/image/fetch/$s_!BXbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9deac4b2-9655-48ec-beda-8b44c665b781_1718x262.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 4. All paid traffic from all sources arriving at the landing pages.</figcaption></figure></div><p>As we would like to know how Facebook traffic looks like, we&#8217;ll have to zoom in to only paid traffic and where its source is Facebook. The chart below shows exactly that, all paid facebook traffic arriving at the landing pages.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LmXm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LmXm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 424w, https://substackcdn.com/image/fetch/$s_!LmXm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 848w, https://substackcdn.com/image/fetch/$s_!LmXm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 1272w, https://substackcdn.com/image/fetch/$s_!LmXm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LmXm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png" width="1456" height="220" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:220,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!LmXm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 424w, https://substackcdn.com/image/fetch/$s_!LmXm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 848w, https://substackcdn.com/image/fetch/$s_!LmXm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 1272w, https://substackcdn.com/image/fetch/$s_!LmXm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29adbd6f-1748-44e5-b883-68b63848d283_1718x260.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 5. Paid traffic from Facebook arriving at the landing pages.</figcaption></figure></div><p>As you can see it does contain fraud, but as this is still a combination of Mac, Windows, iOS and Android and whatever OSes, we&#8217;ll have to zoom in again. Let&#8217;s compare the two mobile OSes, as we&#8217;re interested in traffic originating from apps.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MNVu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MNVu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 424w, https://substackcdn.com/image/fetch/$s_!MNVu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 848w, https://substackcdn.com/image/fetch/$s_!MNVu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 1272w, https://substackcdn.com/image/fetch/$s_!MNVu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MNVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png" width="1394" height="521" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:521,&quot;width&quot;:1394,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!MNVu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 424w, https://substackcdn.com/image/fetch/$s_!MNVu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 848w, https://substackcdn.com/image/fetch/$s_!MNVu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 1272w, https://substackcdn.com/image/fetch/$s_!MNVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52f5aaff-2de9-4f84-96ec-151c966ceeed_1394x521.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6. Paid traffic from Facebook arriving at the landing pages. The top chart contains all iOS traffic, the bottom chart contains all Android traffic.</figcaption></figure></div><p>In the chart above you can see a MEGA-difference between the topchart (iOS) and the bottom one (Android): iOS is almost without fraud, except for that little spike on October 17. The Android traffic is ~40% fraudulent.</p><p>You might also notice that during the weekend paid traffic from Facebook is disabled. This makes perfectly sense, as this client runs their lead generation campaigns only during the weekdays and non holidays.</p><h3>SME company</h3><p>First step is to look at all data. The chart below contains daily bars (D1 timeframe) and shows what traffic arrived at their landing pages during the last 6 months. The client does have some fraud, but based on this chart you still don&#8217;t know anything.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pjPa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pjPa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 424w, https://substackcdn.com/image/fetch/$s_!pjPa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 848w, https://substackcdn.com/image/fetch/$s_!pjPa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 1272w, https://substackcdn.com/image/fetch/$s_!pjPa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pjPa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png" width="1316" height="260" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:260,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!pjPa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 424w, https://substackcdn.com/image/fetch/$s_!pjPa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 848w, https://substackcdn.com/image/fetch/$s_!pjPa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 1272w, https://substackcdn.com/image/fetch/$s_!pjPa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f27f6c7-b20a-4438-b7dd-08620b78e6e6_1316x260.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 7. All traffic paid and organic arriving at a small company's landing page.</figcaption></figure></div><p>It is also clear from the bars that the traffic volume is not bound to weekdays and holidays. Let&#8217;s zoom in to the paid sources, because that&#8217;s what is most relevant. Ah, it seems that they only buy Facebook traffic.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0zSc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0zSc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 424w, https://substackcdn.com/image/fetch/$s_!0zSc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 848w, https://substackcdn.com/image/fetch/$s_!0zSc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 1272w, https://substackcdn.com/image/fetch/$s_!0zSc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0zSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png" width="1316" height="260" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:260,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!0zSc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 424w, https://substackcdn.com/image/fetch/$s_!0zSc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 848w, https://substackcdn.com/image/fetch/$s_!0zSc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 1272w, https://substackcdn.com/image/fetch/$s_!0zSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba4b8ffc-2acf-43ec-9164-184409910412_1316x260.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 8. Paid traffic from Facebook arriving at a small company's landing page</figcaption></figure></div><p>This looks not that good. The amount of fraudulent clicks originating from Facebook is about half, even when the traffic volume is large, around 2023-Nov-21 and in April 2024. Of course the question here is again, which Facebook traffic? So, let&#8217;s break down the data to operating system and Facebook traffic only:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ASxM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ASxM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 424w, https://substackcdn.com/image/fetch/$s_!ASxM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 848w, https://substackcdn.com/image/fetch/$s_!ASxM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 1272w, https://substackcdn.com/image/fetch/$s_!ASxM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ASxM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png" width="1316" height="521" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:521,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ASxM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 424w, https://substackcdn.com/image/fetch/$s_!ASxM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 848w, https://substackcdn.com/image/fetch/$s_!ASxM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 1272w, https://substackcdn.com/image/fetch/$s_!ASxM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2303c68b-1657-4597-8be2-acfdca579b51_1316x521.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 9. Paid traffic from Facebook broken down to iOS (top chart) and Android (bottom chart)</figcaption></figure></div><p>What a surprise!? NOT! The iOS traffic looks very clean, but the Android traffic is a marketing bloodbath, as ~90% of your paid visitors arriving on your landing page(s) are flagged as fraud. What a waste of budget!</p><p>I can give many more examples of Facebook traffic and the differences in fraud levels between iOS and Android. But, over and over again the pattern is the same. If people like these charts and examples, not restricted to Facebook, let me know, it depends on the amount of traction this post gets.</p><h3>Takeaway</h3><p>Your takeaway: Target iOS, try to avoid Android or do it very selectively. It might be more expensive, but better 50 real humans looking at your product than 1000 bots wasting energy, bandwidth and ruining your campaign goals.</p><p>#cmo #facebook #adfraud #digitalmarketing</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Click-Fraud Originating from "Facebook App"]]></title><description><![CDATA[At Oxford Biochronometrics we regularly organize a bothunt, although a better term would be fraudhunt.]]></description><link>https://news.oxford-biochron.com/p/click-fraud-originating-from-facebook</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/click-fraud-originating-from-facebook</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 03 May 2024 15:15:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5NIw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5NIw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5NIw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 424w, https://substackcdn.com/image/fetch/$s_!5NIw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 848w, https://substackcdn.com/image/fetch/$s_!5NIw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 1272w, https://substackcdn.com/image/fetch/$s_!5NIw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5NIw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png" width="1080" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:21112,&quot;alt&quot;:&quot;Facebook&#8217;s Secondary Logo Since 2023&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Facebook&#8217;s Secondary Logo Since 2023" title="Facebook&#8217;s Secondary Logo Since 2023" srcset="https://substackcdn.com/image/fetch/$s_!5NIw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 424w, https://substackcdn.com/image/fetch/$s_!5NIw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 848w, https://substackcdn.com/image/fetch/$s_!5NIw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 1272w, https://substackcdn.com/image/fetch/$s_!5NIw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd26eadaf-c120-46bf-b7a5-55c3347dc5fe_1080x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Facebook&#8217;s Secondary Logo Since 2023</figcaption></figure></div><p></p><p>At <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>we regularly organize a bothunt, although a better term would be fraudhunt. This means analyzing, scrutinizing, creating anomaly statistics, etc. on raw data in order to spot outliers and irregularities and if you&#8217;re lucky find a new type of fraud and win the bothunt medal of honor.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Over time it has become harder and harder to spot fraud, as most low hanging fraud is detected automatically the remaining portions look very clean and human-like. When dealing with large institutions and corporates running massive campaigns and thus having tons of human visitors the remaining fraud -if it even exists- hides well in aggregates. One trick is to start filtering per source or affiliate, because each of them is paid independently and there's always some source or affiliate that feels the need to blend some inferior cheap traffic into the stream of visitors to siphon your spend.</p><p>When advertising on <a href="https://www.linkedin.com/company/metafacebook/">Meta Facebook</a> you pay for impressions in the user&#8217;s feed or for clicks on your advertisements [1]. Fraud is directly related to how you buy your media. If you pay for clicks (CPC), fraudsters are incentivized to only generate clicks. The same logic applies when buying to leads (CPL / CPA), except in lead generation you have a feedback loop. Following up on the leads gives a good picture of the amount of fraud, eg. if 80% of the callees deny that they have filled out your lead generation form you not just <em>know</em> but also have confirmed you were hit by fraudsters. That&#8217;s why buying media in CPL / CPA in combination with 1st class fraud detection (hint: <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>) is the optimal setup: You will know the fraud status prior to making the call, return generated leads with reason: fraud, thus not paying for those thus lowering your marketing costs and mitigating litigation risks.</p><h2>This time Meta&#8217;s Android "Facebook app"</h2><h3>The casus: Small business has fraudulent flagged visitors originating from "Facebook app"</h3><p>Facebook traffic mostly (&gt;90%) originates from the Facebook app, only a fraction of the traffic comes from desktop. There are multiple Facebook apps. The most common one is the regular Facebook app and the other one using less (mobile) data is the Facebook Lite app.</p><p>We'll be looking at traffic originating from the Facebook app which can be recognized by looking at the user agent (UA). Besides the UA many other properties of the browser are recorded which give an overview of who and what is loading your landing page originating from the Facebook app.</p><p>Looking at the UA reveals which mobile operating system is used: Android or iOS (marked in yellow). Secondly, the UA shows which browser version (in gray) and also which Facebook app version were used (in red). The UA may be spoofed by the fraudster, but for a JavaScript based fraud detection this is easy to detect and flag. In these two examples the UA belongs to the reported browser and OS. Let&#8217;s take a look at two UA examples:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xL0j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xL0j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 424w, https://substackcdn.com/image/fetch/$s_!xL0j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 848w, https://substackcdn.com/image/fetch/$s_!xL0j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 1272w, https://substackcdn.com/image/fetch/$s_!xL0j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xL0j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png" width="1325" height="137" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:137,&quot;width&quot;:1325,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!xL0j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 424w, https://substackcdn.com/image/fetch/$s_!xL0j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 848w, https://substackcdn.com/image/fetch/$s_!xL0j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 1272w, https://substackcdn.com/image/fetch/$s_!xL0j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f01e790-a908-499b-bc3c-410b15a2aa2f_1325x137.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 1. Android user agent with the Facebook added suffix marked in red.</figcaption></figure></div><p>and</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YaXb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YaXb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 424w, https://substackcdn.com/image/fetch/$s_!YaXb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 848w, https://substackcdn.com/image/fetch/$s_!YaXb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 1272w, https://substackcdn.com/image/fetch/$s_!YaXb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YaXb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png" width="1324" height="153" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:153,&quot;width&quot;:1324,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!YaXb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 424w, https://substackcdn.com/image/fetch/$s_!YaXb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 848w, https://substackcdn.com/image/fetch/$s_!YaXb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 1272w, https://substackcdn.com/image/fetch/$s_!YaXb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6195baa0-bcb4-400e-9945-a8947e3d2be7_1324x153.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 2. iOS user agent with the Facebook added suffix marked in red.</figcaption></figure></div><p>The Facebook app appends a string to the useragent marked in red showing which OS and which app version made the request. Android adds FB_IAB/FB4A which translates to FaceBook InAppBrowser / FaceBook for Android. IOS has a similar string FBAN/FBIOS. The added FBAV/xxx.x.x.xx.xxx portion shows the Facebook app version.</p><h3>FBCLID</h3><p>Each click from within the Facebook app to an external website gets an FBCLID appended to the URL as a querystring key/value. This FBCLID is the <strong>F</strong>ace<strong>B</strong>ook<strong>CL</strong>ick<strong>ID</strong>. The value is a per-click unique (Facebook server side) generated hash [2]. Its length is between roughly between 60 and 155 characters and includes hyphens and underscores. The same ID may appear multiple times at your landing page, in such a case the FBCLID is cached and the clicks occurred quickly after another. In this breakdown we&#8217;ll be looking at unique FBCLIDs only, as you only pay once per visitor that clicked.</p><h3>Platform</h3><p>In this analysis we&#8217;ll be looking at Android traffic only. Besides the user agent much more information can be extracted from the browser. For example, the navigator.platform [3]. This resembles the CPU architecture of the device. On Android the most common values are: Linux armv6l, Linux armv7l, Linux armv8l, Linux armv81 and Linux aarch64. These values have to match the phone model, which is marked orange in the Android user agent example above.</p><h3>HTTP Headers</h3><p>At each request the browser sends a set of HTTP headers. These headers contain information which which accepted encoding, accepted language, referrer, cache control, character sets, session cookie, user agent, etc. (see: RFC 7231). Although these headers are standardized different browsers render these headers slightly different. This can be fingerprinted and outliers can be spotted [4].</p><h3>Bothunt fraud details</h3><p>When looking at the unique clicks in a small businesses' campaigns (eg. travel, hospitality) having an unique fbclid we observe that 61% of the clicks comes from Android. The remaining 39% clicks comes from iOS (iPhone and iPad). A stunning ~95% of the Android clicks is flagged as fraud, and all clicks have the exact same type of fraud. The same behavior is also observed at larger companies and campaigns, though the fraud percentages are lower because their volume is bigger and thus relatively more real humans are attracted to the landing pages. It is easier to get high fraud percentages at low volumes, and small companies have no weapons against this type of fraud.</p><p>So, in short how does this fraudulent Facebook traffic look like?</p><ul><li><p>Traffic originates from the intended and targeted geolocation</p></li><li><p>The traffic comes from real physical mobile phones, directly making the request</p></li><li><p>The requests are made by an Android webview browser, most recent version: Chrome/123.x.x.x</p></li><li><p>User agent contains FB_IAB/FB4A indicating Android Facebook app</p></li><li><p>The requests have slightly incorrect HTTP headers</p></li><li><p>The same reported platform for each fraudulent visit of this type</p></li><li><p>The browser reports a spoofed renderer and not its real renderer</p></li></ul><p>And that, my dear LinkedIn friends, is how this apparent Facebook app originated fraud burns through your ad spend. In this travel agency&#8217;s example a few hundred dollars a week. Besides complaining about poor conversion ratios, ie. low amount of bookings, there&#8217;s not much else a small business can do.</p><p>I'd love to create a 100+ page <a href="https://www.linkedin.com/company/adalytics-io/">Adalytics</a> -like report with methodology, many screenshots, show in detail which HTTP headers are not correct and why, how to determine a spoofed renderer, and corroborate evidence from different businesses being affected, etc. But, in contrary to legitimate businesses having to correct their behavior or be punished by the markets; fraudsters will thank me for such a free improvement report, and not even thank me personally nor financially but thank me by improving themselves and making advertisers' lives even more miserable.</p><h3>Why?</h3><p>You might be wondering why would this happen? Who benefits from this? Let&#8217;s assume you are running a campaign at scale, besides buying traffic directly, you also use affiliates to generate traffic and pay per click. The goal is to see visitors arriving at your landing page, of which a subset buys a car insurance, books a vacation, test drive in a new Renault, or buys your virus scanner, etc. But, as always the majority of clicks don&#8217;t convert to a generated lead or sale. Yet, you still have to pay for the clicks unless you know and would have flagged them as fraud, if not: the affiliate wins and the invoice is paid.</p><p>Another reason would be when an agency running your campaign, buys cheap traffic in order to artificially boost numbers in order to claim success. Although in 2024 it's common knowledge that bought traffic == bot traffic.</p><h3>Since when?</h3><p>Once you know the pattern to look for it becomes easy to search for fraud in historical data. Based on the data collected by <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>we could trace back this fraud type back to September 2023. With <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>' limited view of all traffic originating from this apparent Facebook app one might wonder what the true scale of this fraud is.</p><h3>Now what?</h3><p>So, you are a small business owner: What can you do? If your site has less than 10,000 visits a month, we don&#8217;t charge for our service, we never have. Though, the free service comes without a real-time feedback, which most small businesses don&#8217;t need. You typically just want a monthly overview, which can be extracted from our dashboard, and use this data to get a refund or credit traffic for the coming month.</p><p>Lastly, if anyone knows a good contact at Meta/ Facebook HMU, because it&#8217;s their reputation on the table; I do have many more details and the FBCLIDs which Facebook should be able to track. I&#8217;m sure a lot more companies from SME to FSTE 100 are affected and to my understanding this type of fraud is not detected by legacy fraud detection vendors [5].</p><p>Sharing, liking and comments are appreciated. Feel free to connect or DM with questions</p><p>#facebook #clickfraud #cmo #digitalmarketing #adfraud</p><p>[1] <a href="https://www.facebook.com/business/help/716180208457684?id=1792465934137726">https://www.facebook.com/business/help/716180208457684?id=1792465934137726</a></p><p>[2] <a href="https://dl.acm.org/doi/pdf/10.1145/3543507.3583311">https://dl.acm.org/doi/pdf/10.1145/3543507.3583311</a></p><p>[3] <a href="https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform">https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform</a></p><p>[4] <a href="https://www.linkedin.com/posts/kouwenhovensander_frauddetection-fingerprinting-activity-7049009901523656705-xrkX">https://www.linkedin.com/posts/kouwenhovensander_frauddetection-fingerprinting-activity-7049009901523656705-xrkX</a></p><p>[5] <a href="https://www.linkedin.com/posts/kouwenhovensander_adfraud-b2c-digitalmarketing-activity-7125112905296957441-O4Wp">https://www.linkedin.com/posts/kouwenhovensander_adfraud-b2c-digitalmarketing-activity-7125112905296957441-O4Wp</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The 5 Layers of B2C Digital Marketing & Lead Generation Problems ]]></title><description><![CDATA[Traffic, Campaign, Marketing, Business, Shareholder Problems]]></description><link>https://news.oxford-biochron.com/p/the-5-layers-of-b2c-digital-marketing</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/the-5-layers-of-b2c-digital-marketing</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 19 Apr 2024 14:30:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ifk1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ifk1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ifk1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ifk1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ifk1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ifk1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ifk1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png" width="1279" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1279,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:233939,&quot;alt&quot;:&quot;5 Layers of B2C Digital Marketing &amp; Lead Generation Problems&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="5 Layers of B2C Digital Marketing &amp; Lead Generation Problems" title="5 Layers of B2C Digital Marketing &amp; Lead Generation Problems" srcset="https://substackcdn.com/image/fetch/$s_!Ifk1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ifk1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ifk1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ifk1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1f4c4e7-e14c-4b75-82cf-b6ad80f9bba6_1279x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">5 Layers of B2C Digital Marketing &amp; Lead Generation Problems</figcaption></figure></div><p>What are the root causes and effects of poor performing digital marketing campaigns? In many cases you&#8217;ll think poor performance is caused by your creative, positioning, the messaging, the intended audience, etc. But, the real issues are often deeper and more fundamental.</p><p>When your business growth depends on digital bringing in new customers many executives focus on the symptoms of poor growth and not the root cause of the growth problem. Over time the numbers get worse and the exec team and board get bogged down in managing the unexpected legal costs, external counsel, non-performing digital marketing campaigns, and how to communicate the disappointing results to the shareholders.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Though these effects are important and need to be addressed, the real problem often is that the fundamental aren&#8217;t right. If the root cause of the problems aka the fundamentals aren&#8217;t right no marketing team, no matter how smart or dedicated, will be able to deliver the results the business is expecting.</p><p>However, when the fundamentals are right, it makes any marketing team deliver great results. That&#8217;s why companies should consider the 5 layers of digital marketing problems:</p><ol><li><p>Buying inferior and cheap traffic quality. Low quality traffic without fraud detection to filter out the bad apples = no marketing optimization will ever lead to sustainable success.</p></li><li><p>If you attract poor quality traffic without 1st class fraud detection you&#8217;ll get an inflated picture of your audience. You think your ads had a great click-through-rate by your audience, and visitors generate leads or buy digital products. But, a chunk of your visitors were fraudsters presenting themselves as your perfect audience. These fraudulent visitors will cost you easily 20% - 25% of your digital spend. After removing fraud: Good traffic = you are in control of your true audience. <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics</a> offers 1st class fraud detection.</p></li><li><p>Low quality leads will never convert to a sale, and are typically not generated by interested humans, but by fraudsters to attempt to skew conversion percentages of the traffic source directly or indirectly paying them. Without detecting fraud, filtering for known litigators, and documenting proof of consent, you might be contacting prospects without their express consent. In case you did document consent: It were fraudsters providing the consent, not the prospects. Contacting prospects without their consent, mostly victims of stolen PII data, allows them to sue you for violating the TCPA act and some will.</p></li><li><p>Marketing problems become business problems when your CAC:CLV ratio becomes lower than ~1:3. This implies the marketing efforts haven&#8217;t achieved their goals, and the business as a whole will suffer due to lack of growth. Marketing problems become a legal problem when your call center did contact prospects without their express consent. Fraudulent generated leads using stolen data is the main reason and primary source of this problem. So, brace yourself for a big wave of TCPA demand letters and the associated settlement costs. It might become worse when you get sued and a class action is started. At this point you&#8217;ll really need external counsel charging $2,100/hr. I'm sure that doesn&#8217;t help <em>your</em> business results.</p></li><li><p>The doom scenario unfolds when a class action lawsuit gets certified. In such a scenario a costly litigation process starts, which might end in a hefty multimillion settlement.</p></li></ol><p>This all happens because of buying cheap traffic, not filtering out fraudulent generated leads, not validating against known litigators, and not documenting proof of consent, and thus not being compliant. Let that sink in.</p><p>You might think: We&#8217;ll just outsource layers 1 and 2 and only pay for generated leads in the form of affiliate fees (CPL / CPA) and we&#8217;ll use a call center. Good thought, but unfortunately you can&#8217;t outsource liability. The TCPA holds businesses accountable for the actions of those acting as their agents. This means you must exercise diligence in selecting and monitoring third-party entities engaged in telemarketing activities to prevent TCPA violations.</p><h3>If the input (inferior traffic) isn&#8217;t good, how can the outcome (business growth) be great?</h3><p>That&#8217;s why each layer in figure 1 requires its own checks and validations before the collected information is allowed to move to the next layer. These checks and validations act as a filter removing the bad apples. Fraud detection enables you to know the fraud status per generated lead in real-time before making the call, <a href="https://www.linkedin.com/company/activeprospect/">ActiveProspect</a>'s TrustedForm enables you to document proof of consent, <a href="https://www.linkedin.com/company/contact-center-compliance/">Contact Center Compliance</a>&#8217;s litigator scrub enables you to scrub known litigators. If this works correctly you generally don&#8217;t need legal counsel. But, if you think these services are too expensive, <a href="https://www.linkedin.com/company/troutman-amin/">Troutman Amin LLP</a> will only be charging you $2,100/hr attempting to solve your TCPA problems, though we all agree they are your best shot at winning and thus worth every penny.</p><h3>Focus on fundamentals first</h3><p>You simply need to focus on fundamentals first: By addressing root causes in lower layers problems in subsequent layers will be mitigated or completely disappear. Without these problems your digital marketing becomes successful and your business can build a solid foundation for growth.</p><p>#B2C #digitalmarketing #fraud #leadgeneration #tcpa</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Value of Real-Time Fraud Detection]]></title><description><![CDATA[Better Marketing ROI, Less TCPA Claims, Less Settlement Costs, Less Costs]]></description><link>https://news.oxford-biochron.com/p/the-value-of-real-time-fraud-detection</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/the-value-of-real-time-fraud-detection</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Fri, 22 Mar 2024 14:07:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GfvH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GfvH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GfvH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 424w, https://substackcdn.com/image/fetch/$s_!GfvH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 848w, https://substackcdn.com/image/fetch/$s_!GfvH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 1272w, https://substackcdn.com/image/fetch/$s_!GfvH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GfvH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png" width="1280" height="699" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d169834-95d2-4915-9071-82717e011a99_1280x699.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:699,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:156844,&quot;alt&quot;:&quot;Price vs. Value&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Price vs. Value" title="Price vs. Value" srcset="https://substackcdn.com/image/fetch/$s_!GfvH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 424w, https://substackcdn.com/image/fetch/$s_!GfvH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 848w, https://substackcdn.com/image/fetch/$s_!GfvH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 1272w, https://substackcdn.com/image/fetch/$s_!GfvH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d169834-95d2-4915-9071-82717e011a99_1280x699.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Price vs Value</figcaption></figure></div><p>In B2C growing your business using digital marketing comes with many challenges and pitfalls. In order to attract prospects you run digital advertising campaigns, at the landing page you nurture your prospects in order to close the deal, or get their contact details in case you&#8217;re generating leads. That&#8217;s nothing new and simply how the marketing funnel works.</p><p>Zooming in to those challenges and pitfalls, which can be placing your ads on MFA sites, your ads being loaded and &#8220;viewed&#8221; by bots, click fraud, and fraudulent generated leads. The former cause that your campaigns underperform, the latter opens litigation risk once the contact data appears to genuine and you start calling the prospect. But, how much is this risk? And how much money would be at stake? How does it affect your business&#8217; performance? That&#8217;s what this article is about, and what you can do to mitigate those risks and losses.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>First step is to visualize the costs of digital marketing. Figure 1 below shows a number of colored and labeled rectanges and a legend for a more elaborate explanation. The surface of each rectangle corresponds with the US dollar value. The largest expense in Figure 1 is the digital marketing budget, a 1000x1000 blue/red square and each pixel represents a visitor at the landing page, which on average costs $1.50. This can be buying clicks at an average of $1.50, or advertisements and based on the CTR each visitor arriving at your landing page costs on average: $1.50, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2Ps9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2Ps9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 424w, https://substackcdn.com/image/fetch/$s_!2Ps9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 848w, https://substackcdn.com/image/fetch/$s_!2Ps9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!2Ps9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2Ps9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png" width="1258" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1258,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347400,&quot;alt&quot;:&quot;Figure 1: The rectanges represent the amount of dollars spend on digital marketing, settlements, legal costs and fraud detection.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 1: The rectanges represent the amount of dollars spend on digital marketing, settlements, legal costs and fraud detection." title="Figure 1: The rectanges represent the amount of dollars spend on digital marketing, settlements, legal costs and fraud detection." srcset="https://substackcdn.com/image/fetch/$s_!2Ps9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 424w, https://substackcdn.com/image/fetch/$s_!2Ps9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 848w, https://substackcdn.com/image/fetch/$s_!2Ps9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!2Ps9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa22c1445-faa1-4d9e-af0c-f956908df06d_1258x1000.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">cFigure 1: The rectanges represent the amount of dollars spend on digital marketing, settlements, legal costs and fraud detection.</figcaption></figure></div><p>At the left of Figure 1 the big 1000x1000 blue and red square represents $1,500,000 dollars, the digital marketing budget. This amount is considered the investment. All expenses have to be paid by the return on this investment. If web is your #1 revenue generator the profit made by this generated also needs to cover most of the other company expenses.</p><p>Both genuine and fraudulent traffic will convert to leads, or sales. This makes fraudulent traffic so hard to pinpoint, as it completely hides in aggregate numbers. The effects, however, are very noticable. Once you receive a dozen TCPA demand letters a day which you have to settle each at a hefty price. These settlements, legal hours and external counsel costs will increase your costs and thus lower your ROI. This explains why the lower your fraud% is the lower the unforseen overhead costs will eat away your profit.</p><p>How fraud losses, costs and legal side effects relate to each other can be seen in Figure 1. The model to calculate these ratios uses the following input values. Without fraud detection:</p><ul><li><p>20% of the traffic is fraudulent.</p></li><li><p>8% of the visitors converts to a generated lead.</p></li><li><p>25% of the generated leads converts to a paying customer (2% of the generated leads).</p></li><li><p>2% of the generated leads are fraudulent.</p></li><li><p>Only 1% of the fraudulent generated leads converts to a TCPA demand letter. That&#8217;s 0.02% of the volume of generated leads.</p></li><li><p>On average each TCPA settlement will cost you $2000, as you might have made multiple calls.</p></li><li><p>If someone doesn&#8217;t settle and starts a legal fight your costs will increase (diagonal stripes)</p></li><li><p>Your legal department spends on average one hour per letter.</p></li></ul><p>The gray rectangle on the right in Figure 1 represents the costs of <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>&#8217; real-time fraud detection at this volume, which can be used to 1) prevent contacting fraudulent leads and also 2) to claim back fraudulent traffic.</p><p>Figure 1 shows that the price of <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>real-time fraud detection is roughly an additional 2%, but the increase in the marketing efficiency is +20% and it prevents and mitigates litigation risk at again 20%. Talking about ROI; that&#8217;s a 20:1 return on the investment! But, of course you&#8217;re thinking: &#8220;How do different percentages of fraud influence my digital marketing ROI? And what are the effects of the additional 2% when the fraudlevels have decreased to 12%? or 10%?&#8221; That&#8217;s what will be discussed in the next section.</p><p>Based on the numbers above 1 in 50 generated leads is fraudulent ( 2% / 0.04% = 50 ). That small subset of generated leads accounts can be found in the ~20% fraudulent traffic. A second degree effect (settlements, legal costs and litigation risk) is based on a tiny subset (about 1%) of these these fraudulent leads and still this adds another ~20% to your costs. You can probably imagine what will happen at a 25% or 30% fraud!?</p><h3>Make fraud detection actionable</h3><p>The damaging effects of fraud is the reason why you need real-time fraud detection, and the real-time portion means a real-time feedback loop. This enables you to know the fraud status of a generated lead prior to making the call. It also enables you to know which sources and which campaigns contain fraud and allows you to get a refund or credit traffic. Ofcourse, your contract needs to contain a refund or credit traffic clause.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mJlJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mJlJ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 424w, https://substackcdn.com/image/fetch/$s_!mJlJ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 848w, https://substackcdn.com/image/fetch/$s_!mJlJ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 1272w, https://substackcdn.com/image/fetch/$s_!mJlJ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mJlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif" width="1148" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1148,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5651534,&quot;alt&quot;:&quot;Figure 2: Animation showing the financial impact on your marketing investment when fraud percentages increase from 5% to over 30%&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 2: Animation showing the financial impact on your marketing investment when fraud percentages increase from 5% to over 30%" title="Figure 2: Animation showing the financial impact on your marketing investment when fraud percentages increase from 5% to over 30%" srcset="https://substackcdn.com/image/fetch/$s_!mJlJ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 424w, https://substackcdn.com/image/fetch/$s_!mJlJ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 848w, https://substackcdn.com/image/fetch/$s_!mJlJ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 1272w, https://substackcdn.com/image/fetch/$s_!mJlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0c9b96-26bf-4969-a527-cd26adb2c191_1148x640.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2: Animation showing the financial impact on your marketing investment when fraud percentages increase from 5% to over 30%</figcaption></figure></div><p>In order to see the first and second degree effects of different levels of fraud we&#8217;ll take a look at Figure 2. This is an animation showing how fraud affects the performance of your digital marketing campaign. The animation is based and created upon the following configuration settings:</p><ul><li><p>Average fraud percentage (variable: 5%, 10%, 15%, 20%, 25%, 30%, 35%)</p></li><li><p>The customer lifetime value. The average $ of a new customer</p></li><li><p>The volume 1,000,000 visitors</p></li><li><p>The avg cost of a single visitor, at $1.50</p></li><li><p>Conversion from click to lead, at 8%</p></li><li><p>Conversion from lead to sale, at 25% which means 2% converts from click to sale</p></li><li><p>Percentage fraudulent leads, at 2% which means 2% of 8% which is 0.0016% of the volume</p></li><li><p>The percentage fraudulent leads that start litigation, at 1% which means 1% of 2% of 8% = 0.000016% (16 claims out of a million visitors)</p></li><li><p>On average each claim is settled at $2,000</p></li><li><p>Your legal department spends 1 hour at $250 per letter</p></li></ul><p>These configuration settings have been put into a model that creates a sankey flow chart showing the breakdown of the revenue of the digital marketing campaigns into its profit and cost (and loss) components. This enables you to see how the performance of your digital marketing campaigns is affected by fraud, but also by a too high cost per click, or a too low conversion percentage, or a too low CLV (Customer Lifetime Value), etc.</p><p>Figure 2 shows how the ratio of the profit versus costs and losses changes when the fraud percentage increases. The harsh reality is that with less humans arriving at your landing page it becomes harder and harder to achieve your business goals. You just can&#8217;t perfect your content and multi-stage forms to compensate with these losses.</p><p>Table 1 below contains the same information and based on the same default values as used in the animation. The calculated ROI, profit% of revenue, and costs/ losses% of revenue can be seen in the table below by only changing the fraud%:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yZQQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yZQQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 424w, https://substackcdn.com/image/fetch/$s_!yZQQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 848w, https://substackcdn.com/image/fetch/$s_!yZQQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 1272w, https://substackcdn.com/image/fetch/$s_!yZQQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yZQQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png" width="832" height="280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:280,&quot;width&quot;:832,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!yZQQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 424w, https://substackcdn.com/image/fetch/$s_!yZQQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 848w, https://substackcdn.com/image/fetch/$s_!yZQQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 1272w, https://substackcdn.com/image/fetch/$s_!yZQQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2264f01a-1dbf-4972-9d2e-c0629006344a_832x280.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Table 1. The performance of the digital marketing campaigns versus the fraud percentage</figcaption></figure></div><p>The data in Figure 1 shows that at a fraud rate of 30% your marketing investment doesn&#8217;t generate profit, ie. the costs are equal to the profit. This means when your landing page is your only stream of revenue your company as a total makes a loss. The two charts in Figure 3 below show how the ROI and profit% plummet when a smaller and smaller portion of the prospects generate business in combination with growing legal overhead costs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Oa9r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Oa9r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 424w, https://substackcdn.com/image/fetch/$s_!Oa9r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 848w, https://substackcdn.com/image/fetch/$s_!Oa9r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 1272w, https://substackcdn.com/image/fetch/$s_!Oa9r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Oa9r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png" width="1456" height="407" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:407,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Oa9r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 424w, https://substackcdn.com/image/fetch/$s_!Oa9r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 848w, https://substackcdn.com/image/fetch/$s_!Oa9r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 1272w, https://substackcdn.com/image/fetch/$s_!Oa9r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a2a7d5c-b56c-45ec-885e-419cb02c0aa5_1715x479.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3: Per fraud percentage: The profit loss percentage of digital marketing revenue, the ROI of the digital marketing</figcaption></figure></div><p>The two charts above emphasize <em>again </em>that your digital marketing campaigns need to be healthy, where the definition of healthy is maximum of ~12% fraud. Having this level of fraud the impact of TCPA claims is still relatively low and thus manageable, and you&#8217;re able to get credit traffic or a refund on the portion of your digital marketing budget which was flagged as fraud.</p><h3>Make your digital campaigns healthy again</h3><p>So, how can you make your digital marketing campaigns healthy again? It&#8217;s not just adding a fraud detection tag. It&#8217;s an organizational change on how your business handles the ingestion of generated leads, follows up on the fraud numbers in your digital marketing campaigns, and monitoring and managing the output of your campaigns at a strategic level. This has been explained in detail in a previous post, see: [1].</p><p>Of course, fraud detection is only one reason why digital campaigns are performing sub-optimal. Though, you have to agree it is a large reason and if not dealt with it will flourish and thus seriously affect your business outcome, increase your CAC, murk your view on which campaigns work, which audiences did respond, and in worst case a class action is started which you have to settle or fight against.</p><p>That&#8217;s why you will have to safeguard and continuous monitor your largest revenue stream by adding a real-time fraud detection, and filter out fraudulent generated leads. The price you&#8217;ll be paying for real-time fraud detection is almost nothing compared to the value it provides. As mentioned before: You get 20 times the value compared to the price you pay.</p><p>Want more info? The link to the interactive sankey chart? Leave a comment, connect, or DM.</p><p></p><p>[1] <a href="https://www.linkedin.com/posts/kouwenhovensander_digitalmarketing-b2c-fraud-activity-7168958124249321472-SqcO">https://www.linkedin.com/posts/kouwenhovensander_digitalmarketing-b2c-fraud-activity-7168958124249321472-SqcO</a></p><p>#digitalmarketing #b2c #fraud #leadgeneration #tcpa</p><h3>Appendix A</h3><p>This appendix contains a few extra examples how fraud percentages affect the performance of a digital marketing campaign. To keep things clear each example only changes one single variable compared to the example in the main article.</p><p>Table 2 below shows how different fraud percentages affects the ROI and profit/ costs percentages relative to the revenue. The only different value used to create Table 2 compared to table 1 in the article is: $2.00 per visitor instead of $1.50.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RxmV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RxmV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 424w, https://substackcdn.com/image/fetch/$s_!RxmV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 848w, https://substackcdn.com/image/fetch/$s_!RxmV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 1272w, https://substackcdn.com/image/fetch/$s_!RxmV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RxmV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png" width="810" height="229" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/caa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:229,&quot;width&quot;:810,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!RxmV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 424w, https://substackcdn.com/image/fetch/$s_!RxmV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 848w, https://substackcdn.com/image/fetch/$s_!RxmV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 1272w, https://substackcdn.com/image/fetch/$s_!RxmV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaa257aa-97ae-4e44-863a-c1aae0c99f20_810x229.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Table 2. The average cost per visitor is set at $2.00 per visitor instead of the default average visitor costs at $1.50.</figcaption></figure></div><p>Table 3 below shows how different fraud percentages affects the ROI and profit/ costs percentages relative to the revenue. The only different value used to create Table 3 compared to table 1 in the article is: 20% of the leads convert to a sale instead of 25% used in the article. The average price per visitor is again $1.50.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bsf1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bsf1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 424w, https://substackcdn.com/image/fetch/$s_!Bsf1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 848w, https://substackcdn.com/image/fetch/$s_!Bsf1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 1272w, https://substackcdn.com/image/fetch/$s_!Bsf1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bsf1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png" width="810" height="229" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:229,&quot;width&quot;:810,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Bsf1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 424w, https://substackcdn.com/image/fetch/$s_!Bsf1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 848w, https://substackcdn.com/image/fetch/$s_!Bsf1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 1272w, https://substackcdn.com/image/fetch/$s_!Bsf1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe83f1eb5-8f95-4fc5-9f8f-d10cb45dfb75_810x229.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Table 3. The conversion from lead to sale is set at 20% of the leads convert to the default value of 25% as in table 1.</figcaption></figure></div><p>Table 4 below shows how different fraud percentages affects the ROI and profit/ costs percentages relative to the revenue. The only different value used to create Table 4 compared to table 1 in the article is: The CLV is $250 instead of $300 using in the article. The average price per visitor is again $1.50, the conversion leads to sale is set at the default: 25%.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t_Y0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t_Y0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 424w, https://substackcdn.com/image/fetch/$s_!t_Y0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 848w, https://substackcdn.com/image/fetch/$s_!t_Y0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 1272w, https://substackcdn.com/image/fetch/$s_!t_Y0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t_Y0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png" width="810" height="228" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:228,&quot;width&quot;:810,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!t_Y0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 424w, https://substackcdn.com/image/fetch/$s_!t_Y0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 848w, https://substackcdn.com/image/fetch/$s_!t_Y0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 1272w, https://substackcdn.com/image/fetch/$s_!t_Y0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b509356-cf7b-4984-92b2-7a4ea6bb391c_810x228.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Table 4. The CLV is set to $250 compared to the default value of $300 as in table 1.</figcaption></figure></div><h3>Glossary</h3><p>B2C - Business to Consumer</p><p>CAC - Customer Acquisition Costs</p><p>CLV - Customer Lifetime Value</p><p>CTR - Click through rate</p><p>MFA - Made For Advertisement</p><p>ROI - Return on investment</p><p>TCPA - Telephone Consumer Protection Act</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Make Fraud Detection Actionable]]></title><description><![CDATA[Learn How to Implement & Improve Your Marketing ROI]]></description><link>https://news.oxford-biochron.com/p/make-fraud-detection-actionable</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/make-fraud-detection-actionable</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Mon, 04 Mar 2024 15:42:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!m-9y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m-9y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m-9y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!m-9y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!m-9y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!m-9y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m-9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:245552,&quot;alt&quot;:&quot;Make Fraud Detection Actionable&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Make Fraud Detection Actionable" title="Make Fraud Detection Actionable" srcset="https://substackcdn.com/image/fetch/$s_!m-9y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!m-9y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!m-9y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!m-9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8663fa34-6193-47a5-a4e6-a07ed29eebab_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Make Fraud Detection Actionable</figcaption></figure></div><p>The moments after the <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>&#8217; fraud detection tag has been added to a client&#8217;s B2C website(s) a clear fraud picture emerges and by simply looking at those numbers we <em>again </em>ask ourselves the question: &#8220;How can it be that it took so long that someone started asking questions and acted accordingly?&#8221; In this case the client&#8217;s #1 revenue channel is their website and it had ~25% of fraudulent paid traffic. Of course this paid traffic has a variety of fraud, mainly fraudulent clicks, fraudulent stuffed leads, fraudulent digital sales, etc. which is fully blended within the human audience.</p><p>Knowing your business and the predicted outcomes and expectations of your digital marketing program might probably raise this question:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>&#8220;How much does this click and lead generation fraud affect my ROI and the CAC (customer acquisition costs) and its payback time?&#8221;</p><p>Or,</p><p>&#8220;Could this be the reason why our digital marketing campaigns have been performing worse than expected?&#8221;</p><p>Or, in worst case,</p><p>&#8220;Is this the reason why our legal department receives that many TCPA demand letters?&#8221;</p><h3>How to make fraud detection actionable?</h3><p>How can you make fraud detection actionable in order to improve your ROI, lower the CAC and mitigate litigation risk?</p><p>1. At the (strategical) macro level:</p><ul><li><p>Is your digital marketing program both effective and efficient based on its ROI?</p></li><li><p>Does your digital marketing program expose litigation risks to your company?</p></li><li><p>Is your digital advertising CAC, and your total CAC, ie. including all marketing and sales expenses, way too high? And what is the associated payback time in months? Unrealistic? How on earth can you lower these?</p></li></ul><p>Answering and addressing the questions above will create a sustainable competitive advantage.</p><p>2. At the (tactical) meso level:</p><ul><li><p>Which digital channels or campaigns are driving conversion and contribute to the ROI?</p></li><li><p>Which digital channels or campaigns require improvement? More budget? Or need to be removed entirely? See also [6]</p></li><li><p>Which digital channels or campaigns expose the company to e.g. TCPA litigation risks?</p></li><li><p>Periodically benchmark different real-time feedback fraud detection vendors, e.g. using A/B testing. This should answer which vendor flags fraud and fraud only! See also [5]</p></li></ul><p>Answering the questions above will make your digital marketing program more efficient and thus more profitable by identifying and removing the poor performing parts. It also identifies where the TCPA litigation risks originate from.</p><p>3. At the (operational) micro level:</p><ul><li><p>Continuously monitor your campaigns and traffic sources using real-time feedback fraud detection.</p></li><li><p>The fraud detection provides invaluable information at the exact moment you need it.</p></li><li><p>This enables you to know the fraud status <strong>prior to making the call </strong>and thus prevents you from calling a prospect who didn&#8217;t consent to be contacted.</p></li><li><p>This avoids the risk of receiving TCPA demand letters and thus a costly settlements.</p></li><li><p>Fraud detection prevents you paying for fraudulent affiliate fees, and fraudulent clicks, the saved money can be spend on your intended human audience.</p></li><li><p>Besides the fraud status also collect: Where did this click or lead originate from. Did the caller pick up the phone and denied to have consented?</p></li><li><p>A positive side effect of fraud detection is that the quality of your campaign data improves and over time you&#8217;ll get a clearer picture on how your intended audience responded to your campaigns.</p></li></ul><p>Of course, fraud detection is only one reason why digital campaigns are performing sub-optimal. Though, you have to agree it is a large reason and if not dealt with it will flourish and thus seriously affect your business outcome, increase your CAC, murk your view on which campaigns work, which audiences did respond, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1BL7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1BL7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 424w, https://substackcdn.com/image/fetch/$s_!1BL7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 848w, https://substackcdn.com/image/fetch/$s_!1BL7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 1272w, https://substackcdn.com/image/fetch/$s_!1BL7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1BL7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png" width="1127" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1127,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:41867,&quot;alt&quot;:&quot;Financial Impact vs Frequency of Fraud&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Financial Impact vs Frequency of Fraud" title="Financial Impact vs Frequency of Fraud" srcset="https://substackcdn.com/image/fetch/$s_!1BL7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 424w, https://substackcdn.com/image/fetch/$s_!1BL7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 848w, https://substackcdn.com/image/fetch/$s_!1BL7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 1272w, https://substackcdn.com/image/fetch/$s_!1BL7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d1e87ba-bae2-499d-b7f3-ad3c71eeddaa_1127x764.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Financial Impact vs Frequency of Fraud</figcaption></figure></div><p>If your #1 revenue stream is through digital advertising and converting clicks to leads and customers the negative effects of fraud and the associated risks can be enormous. In many cases new <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>clients already use some sort of fraud detection. This can be IP address reputation scoring which typically flag data centers, TOR and VPN exit points, but <em>not</em> residential proxies running on consumer devices [1]. In other cases they use vendors which are able to flag bots and browser automation, but not human operated fraud.</p><p>Human operated fraud is able to fully recreate a lead&#8217;s path and the form data would checkout with verification services, and the behavior at your landing pages is not &#8216;robotic' or 'static&#8217; but just like any human would interact. This sophisticated humanoid fraud is low in frequency but has a high impact in terms of litigation risk and the associated settlements. To reassure you <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>is able to flag this type of sophisticated human operated fraud, in real-time.</p><p>Figure 1 shows that fraudulent clicks will cost you a dollar, maybe a few dollars, per click. Lead generation fraud is more costly, but also happens at a lower frequency. TCPA claims are way more costly at a bare minimum of $500 per settlement. Having made too much calls based on fraudulent generated leads will cost you a fortune or even worse a class action is started and if certified you will have a serious problem.</p><p>That&#8217;s why you will have to safeguard and continuous monitor your #1 revenue stream by including a real-time fraud detection. On a side note you should also include proof of consent in order to protect you in the event of litigation, see [2][3][4]. These two measurements will drastically boost your marketing ROI and mitigate litigation risks at a fraction of the costs.</p><p>Want more info? Leave a comment, connect, or DM.</p><p>[1] <a href="https://www.linkedin.com/posts/kouwenhovensander_residential-backconnect-proxies-are-available-activity-7044282431310286848-g117">https://www.linkedin.com/posts/kouwenhovensander_residential-backconnect-proxies-are-available-activity-7044282431310286848-g117</a></p><p>[2] <a href="https://www.linkedin.com/posts/kouwenhovensander_leadgen-leadgeneration-digitalmarketing-activity-7019280429815885825-5YRS">https://www.linkedin.com/posts/kouwenhovensander_leadgen-leadgeneration-digitalmarketing-activity-7019280429815885825-5YRS</a></p><p>[3] <a href="https://www.linkedin.com/posts/kouwenhovensander_leadgen-leadgeneration-digitalmarketing-activity-7021834418898001920-uzPE">https://www.linkedin.com/posts/kouwenhovensander_leadgen-leadgeneration-digitalmarketing-activity-7021834418898001920-uzPE</a></p><p>[4] <a href="https://www.linkedin.com/posts/kouwenhovensander_marketing-can-be-seen-as-a-financial-investment-activity-7024358269049561088-LFop">https://www.linkedin.com/posts/kouwenhovensander_marketing-can-be-seen-as-a-financial-investment-activity-7024358269049561088-LFop</a></p><p>[5] <a href="https://www.linkedin.com/posts/kouwenhovensander_adfraud-b2c-digitalmarketing-activity-7125112905296957441-O4Wp">https://www.linkedin.com/posts/kouwenhovensander_adfraud-b2c-digitalmarketing-activity-7125112905296957441-O4Wp</a></p><p>[6] <a href="https://www.linkedin.com/posts/kouwenhovensander_leadgen-ecommerce-digitalmarketing-activity-7033787920691949568-0znz">https://www.linkedin.com/posts/kouwenhovensander_leadgen-ecommerce-digitalmarketing-activity-7033787920691949568-0znz</a></p><p>#digitalmarketing #b2c #fraud #leadgeneration #tcpa</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Affiliate Benchmark Report 2023 2nd Half]]></title><description><![CDATA[The Latest Affiliate Performance Benchmark Report for Digital Marketers is Here!]]></description><link>https://news.oxford-biochron.com/p/affiliate-benchmark-report-2023-2nd</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/affiliate-benchmark-report-2023-2nd</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Thu, 18 Jan 2024 15:23:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pDk9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pDk9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pDk9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 424w, https://substackcdn.com/image/fetch/$s_!pDk9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 848w, https://substackcdn.com/image/fetch/$s_!pDk9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 1272w, https://substackcdn.com/image/fetch/$s_!pDk9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pDk9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png" width="348" height="450.3342465753425" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1417,&quot;width&quot;:1095,&quot;resizeWidth&quot;:348,&quot;bytes&quot;:2020744,&quot;alt&quot;:&quot;Oxford BioChronometrics H2 2023 Benchmark Report&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Oxford BioChronometrics H2 2023 Benchmark Report" title="Oxford BioChronometrics H2 2023 Benchmark Report" srcset="https://substackcdn.com/image/fetch/$s_!pDk9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 424w, https://substackcdn.com/image/fetch/$s_!pDk9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 848w, https://substackcdn.com/image/fetch/$s_!pDk9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 1272w, https://substackcdn.com/image/fetch/$s_!pDk9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cf702a-fe06-48dd-81e1-0e9aad29e5cb_1095x1417.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Oxford BioChronometrics H2 2023 Benchmark Report</figcaption></figure></div><p></p><h5>What&#8217;s the fraud situation so far this year?</h5><p>How much lead and ad fraud is there really?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Which affiliates had the best (and worst) results?</p><p>What can you do to make sure you&#8217;re getting the best results from your affiliate program?</p><p>With this new Affiliate Performance Benchmark Report based on real data from the second half of 2023, you&#8217;re just a click away from all the answers you need to make the most out of your lead generation programs.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://oxford-biochron.com/affiliate-performance-report&quot;,&quot;text&quot;:&quot;The Free Report Now!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://oxford-biochron.com/affiliate-performance-report"><span>The Free Report Now!</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What Gets Mismeasured Gets Mismanaged]]></title><description><![CDATA[Marketing is an investment.]]></description><link>https://news.oxford-biochron.com/p/what-gets-mismeasured-gets-mismanaged</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/what-gets-mismeasured-gets-mismanaged</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Wed, 08 Nov 2023 15:50:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JSGu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JSGu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JSGu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 424w, https://substackcdn.com/image/fetch/$s_!JSGu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 848w, https://substackcdn.com/image/fetch/$s_!JSGu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 1272w, https://substackcdn.com/image/fetch/$s_!JSGu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JSGu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png" width="944" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04976999-0b34-4421-8b82-1a1fe1491508_944x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:944,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150219,&quot;alt&quot;:&quot;What gets mismanaged gets mismeasured&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What gets mismanaged gets mismeasured" title="What gets mismanaged gets mismeasured" srcset="https://substackcdn.com/image/fetch/$s_!JSGu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 424w, https://substackcdn.com/image/fetch/$s_!JSGu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 848w, https://substackcdn.com/image/fetch/$s_!JSGu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 1272w, https://substackcdn.com/image/fetch/$s_!JSGu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04976999-0b34-4421-8b82-1a1fe1491508_944x600.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">What gets mismanaged gets mismeasured</figcaption></figure></div><p>Marketing is an investment. An investment in potential new clients or customers generating revenue. Unfortunately, the road to acquiring new clients has many potholes, blind curves, oil slicks and bandits. Configuring and continuous monitoring your campaigns well will avoid the usual dangers, except the most dangerous one: the bandits aka fraudsters in the digital world. To address ad-fraud, click fraud, lead gen fraud sucessfully you&#8217;ll need specialistic tools which again have to be updated continuously in order to keep up with the evolving threats.</p><p>The one million dollar question is &#8216;what is successfully&#8217; when addressing these types of fraud?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Flagging 100% of all visitors as fraud will definitely solve any fraud problem. But, you don&#8217;t have any business left. Flagging only 1% of the visitors will just catch low hanging fraud. Unfortunately, catching simple fraud doesn&#8217;t stop compliance issues, and in case you're generating leads flagging simple fraud won&#8217;t stop your legal department receiving a ton of TCPA demand letters [6]. Both scenarios are far from ideal, but what is?</p><p>The ideal situation is when fraud is flagged as fraud and humans aren&#8217;t! Simple as that. Except, that&#8217;s not what the average fraud detection vendor delivers. This means on one side the trade-off of a fraud detection not flagging fraud is the financial damage of the unflagged fraud. On the other side the trade-off of a fraud detection flagging too much is the financial damage of missed business. The question is: What is worse? Accept some fraud or accept some missed business, and how much is acceptable?</p><h3>Legacy ad-fraud detection</h3><p>Figure 1 shows how legacy fraud detection separates human visitors from the fraudulent visitors. This is based on their ~1% fraud reported quarterly. We all know fraud is more prevalent, though the reported percentage remains ~1%. Using 12% of fraud as the &#8216;<em>true percentage of fraud</em>&#8217; this means their detection misses 11/12th of the fraud. That looks bad, but the real question is: How costly is this, financially from a business perspective?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FK-R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FK-R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 424w, https://substackcdn.com/image/fetch/$s_!FK-R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 848w, https://substackcdn.com/image/fetch/$s_!FK-R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 1272w, https://substackcdn.com/image/fetch/$s_!FK-R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FK-R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png" width="1243" height="673" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:673,&quot;width&quot;:1243,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90940,&quot;alt&quot;:&quot;Figure 1.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 1." title="Figure 1." srcset="https://substackcdn.com/image/fetch/$s_!FK-R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 424w, https://substackcdn.com/image/fetch/$s_!FK-R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 848w, https://substackcdn.com/image/fetch/$s_!FK-R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 1272w, https://substackcdn.com/image/fetch/$s_!FK-R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ede0fd-ebdf-4619-8a4a-35982a34db21_1243x673.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1.</figcaption></figure></div><h3>Trigger happy ad-fraud detection</h3><p>Abraham Kaplan called it &#8220;the law of the instrument&#8221; and it may be formulated as follows: &#8220;<em>Give a small boy a hammer, and he will find that everything he encounters needs pounding.</em>&#8221; [1] . The same behavior can be seen in fraud detection solutions too eager to find and flag fraud, anything out of the comfort zone (eg. browsers with an Asian language), anything out of the ordinary (eg. custom fonts installed), anything deviating from the default setting (eg. other javascripts on the website override certain browser functionality and/or polyfills [2]) affecting the detection, will be considered fraud.</p><p>This causes fraud detection solutions to flag a much higher percentage of fraud compared to the true fraud percentage. These incorrect flagged visitors are false positives. This means a portion of your human audience will be ignored by these trigger happy fraud detection vendors. Ignoring humans will cost you business and will affect your sales numbers.</p><p>Figure 2 shows how trigger happy fraud detection has a high false positives rate. The main reason is that these fraud detection solutions use &#8220;soft metrics&#8221; to flag fraud. Without having a groundtruth a baseline cannot be established and thus you&#8217;re just guessing who is a normal human visitor and what isn&#8217;t. As we all know &#8220;<em>Assumpsion is the mother of all f-ups</em>&#8221;, then why do these vendors flag like this? Here, I&#8217;m assuming it&#8217;s because of enshittification [3], hubris, and self flattery :-).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wVNL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wVNL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 424w, https://substackcdn.com/image/fetch/$s_!wVNL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 848w, https://substackcdn.com/image/fetch/$s_!wVNL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 1272w, https://substackcdn.com/image/fetch/$s_!wVNL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wVNL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png" width="1249" height="664" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:664,&quot;width&quot;:1249,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90380,&quot;alt&quot;:&quot;Figure 2. Trigger happy fraud detection vendors will detect most of the fraud. But, as bycatch inadvertently flag a large portion of your human audience as fraud.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 2. Trigger happy fraud detection vendors will detect most of the fraud. But, as bycatch inadvertently flag a large portion of your human audience as fraud." title="Figure 2. Trigger happy fraud detection vendors will detect most of the fraud. But, as bycatch inadvertently flag a large portion of your human audience as fraud." srcset="https://substackcdn.com/image/fetch/$s_!wVNL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 424w, https://substackcdn.com/image/fetch/$s_!wVNL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 848w, https://substackcdn.com/image/fetch/$s_!wVNL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 1272w, https://substackcdn.com/image/fetch/$s_!wVNL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba2900cd-bae7-45ed-88e9-3ab92693de6d_1249x664.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Trigger happy fraud detection vendors will detect most of the fraud. But, as bycatch inadvertently flag a large portion of your human audience as fraud.</figcaption></figure></div><p>But, back to business. A high number of false positives sounds really bad, but again the real question is: How costly is this, financially from a business&#8217; perspective?</p><h3>Business impact</h3><p>In order to model the business impact an Excel document has been created. This contains all the parameters and metrics of a typical digital marketing campaign. As campaigns differ over time, per vertical and per country, state, city, the sheet enables you to configure price (CPM), click-through-rate (CTR), conversion to sale, customer lifetime value (CLV), ad-fraud detection costs, and how much ad-fraud is detected. Based on these parameters it calculates the cost per click (CPC), customer acquisition costs (CAC), the CLV:CAC ratio, the false negative rate, and the false positive rate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vJIZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vJIZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 424w, https://substackcdn.com/image/fetch/$s_!vJIZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 848w, https://substackcdn.com/image/fetch/$s_!vJIZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 1272w, https://substackcdn.com/image/fetch/$s_!vJIZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vJIZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png" width="617" height="449" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:449,&quot;width&quot;:617,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59208,&quot;alt&quot;:&quot;Figure 3.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 3." title="Figure 3." srcset="https://substackcdn.com/image/fetch/$s_!vJIZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 424w, https://substackcdn.com/image/fetch/$s_!vJIZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 848w, https://substackcdn.com/image/fetch/$s_!vJIZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 1272w, https://substackcdn.com/image/fetch/$s_!vJIZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73ef8020-2a20-47c8-a218-149fe3e3b677_617x449.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3.</figcaption></figure></div><p>Figure 3 shows the comparison between a legacy vendor (1% fraud) and a trigger happy vendor (30% fraud). Both fraud detection solutions are equal priced and the model doesn&#8217;t take include any refunds or credit traffic based on the fraud percentage. On the other side it also doesn&#8217;t include the business costs of poor data quality, and potential litigation risks. The model shows that missed business (18% FP) affects the ROI performance of your campaign(s) much more than the wasted dollars on fraudulent impressions and/or clicks (11% FN) . That makes perfectly sense, simply because any business has to outweigh the campaign investment.</p><p>But, I can hear you thinking, what if the legacy fraud detection vendor is much more expensive? Let&#8217;s triple the costs and recalculate the campaign using an ad-fraud detection cost of 0.0006 per verification. This will affect the pricing, and increases the CAC from $62 to $66 and respectively lowers the CLV:CAC ratio from 4.52 to 4.24, as can be seen in Figure 4. In this scenario, pricewise, flagging only 1% of the fraud and thus missing 11%, is still 14% cheaper than flagging 18% too much.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tBKa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tBKa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 424w, https://substackcdn.com/image/fetch/$s_!tBKa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 848w, https://substackcdn.com/image/fetch/$s_!tBKa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 1272w, https://substackcdn.com/image/fetch/$s_!tBKa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tBKa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png" width="620" height="444" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:444,&quot;width&quot;:620,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59431,&quot;alt&quot;:&quot;Figure 4.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 4." title="Figure 4." srcset="https://substackcdn.com/image/fetch/$s_!tBKa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 424w, https://substackcdn.com/image/fetch/$s_!tBKa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 848w, https://substackcdn.com/image/fetch/$s_!tBKa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 1272w, https://substackcdn.com/image/fetch/$s_!tBKa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5acabeef-f605-4aad-ba41-8cb5120a7d8e_620x444.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure  4.</figcaption></figure></div><p>In order to compare different fraud levels a lookup table has been constructed. The horizontal x-axis contains the <strong>true </strong>fraud percentage. As you may have read in the <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>&#8217; affiliate benchmark report [5]: In normal circumstances the fraud averages out at 12%, but may differ greatly per source. The first step is to look up the fraud percentage of a source (eg. Facebook, Bing, etc.) in the benchmark report, and write down the percentage. The second step is to look up what percentage your current fraud detection vendor flags and reports. Now you have two percentages: On the x-axis go to the column using the percentage of step 1, and subsequently go to the row using the percentage of step 2. This cell contains the performance value as a CLV:CAC ratio based on your true and vendor reported percentage combination. The table only contains percentages below 40%. The table has been generated using the exact same logic and ad-verification pricing as shown in Figure 4.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!az30!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!az30!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 424w, https://substackcdn.com/image/fetch/$s_!az30!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 848w, https://substackcdn.com/image/fetch/$s_!az30!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 1272w, https://substackcdn.com/image/fetch/$s_!az30!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!az30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png" width="1456" height="730" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:730,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:463995,&quot;alt&quot;:&quot;Figure 5.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 5." title="Figure 5." srcset="https://substackcdn.com/image/fetch/$s_!az30!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 424w, https://substackcdn.com/image/fetch/$s_!az30!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 848w, https://substackcdn.com/image/fetch/$s_!az30!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 1272w, https://substackcdn.com/image/fetch/$s_!az30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F329234e2-bd08-40ae-8bef-3be314e42a11_1666x835.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 5.</figcaption></figure></div><p>Based on the table it can be seen that having a vendor reporting a ~1% fraud percentage is (financially) better for the ROI of your marketing campaign than having a trigger happy fraud detection overreporting and make you ignore human traffic. Of course when refunds,credit traffic, data poisoning, (TCPA) [6] litigation risks are added to the mix these results will change slightly. In the end: The best scenario is to flag and report fraud accurately, where the reported fraud matches the real fraud, without FPs and without FNs. Okay, granted, digital marketing campaigns without any fraud would be even better, but we all know that&#8217;s wishful thinking.</p><h3>How does Oxford BioChronometrics know the real fraud percentage?</h3><p><a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>has been founded by individuals NOT having a background in digital marketing. Our background has been in cybersecurity, designing and building a real-time solution to detect and flag fraudulent transactions in Internet banking sessions. The experience of designing, building and embedding a real-time fraud detection product into a large bank with all its regulations, compliance, etc. has set the standard for creating the <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>fraud products. Yes, we had to learn how digital marketing in general works, how the ecosystem, the attribution, pixel tracking, viewability, calculating the ROI, ROAS, etc. works. Most of these are based on technical solutions mapped to a marketing functionality, financial instruments, or similar to stock markets and stock exchanges, which we were already familiar with.</p><p>&#8220;<em>Keep your friends close, but your enemies closer</em>&#8221; -- the Godfather part II [3]. As a company you would like to know what your competitors are doing. This is why every now and then you&#8217;ll take a look at your competitors&#8217; websites, blogs, results, etc. and one of the most interesting freely available piece of information is their public part of the fraud detection software: The JavaScript collecting data from the browser. Anybody will be able to download this, read the code and based on that be able to understand what data points the JavaScript code collects and conveys. If you have a programming and cyber background this is a fairly simple exercise, mentally similar as baking an apple pie! Although some companies try to protect their JavaScript and try to make your life miserable by obfuscating and encrypting the JavaScript code, with the proper tools and knowledge that can be reversed, and then it&#8217;s still doable [4].</p><p>Real results is what counts. Having good feedback from your clients, &#8220;<em>your detection saves us a ton of money and provides us clean data</em>&#8221;, is nice. But, firsthand seeing how one of your clients grows from a startup to a scaleup and then ~18 months later they are being bought for multiple billion dollars, while their #1 revenue comes from digital marketing on the Internet to get customers to acquire their products. That&#8217;s gold and has been the ultimate confirmation that <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>has been able to protect their business, provide their data analytics and ML teams with clean data to work with and mitigate litigation risks by filtering out fraudulent leads. This is the long term feedback loop that shows that we consistently keep on performing over a longer period of time.</p><p>Combining our cyber background, our freshly acquired marketing knowledge, competitor intelligence and confirmation that we are right on track enables us to know what works and what doesn&#8217;t and also what will never ever work. This allows us to understand which fraud detection vendor collects good data and runs good tests in the browser, versus vendors having essential code with design flaws (due to incompetence), &#8216;soft metrics&#8217; which are interpretable and thus prone to false positives, and the lack of cyber security knowledge to protect their collection mechanism. When you mismeasure, ie. the noise is louder than the signal, you simply can&#8217;t distinguish fraud from humans. Any usage of AI or advanced machine learning will not help against that, as the collected data is processed unsupervised and the volumes are just too big to flag it manually. This means an arbitrary line is drawn (the conservative or trigger happy line) to cluster the data into human and fraud clusters. Mismeasured results in a mismanaged outcome: Drawing incorrect conclusions will seriously affect the growth and thus the performance of your business in the long run.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SSB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SSB_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 424w, https://substackcdn.com/image/fetch/$s_!SSB_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 848w, https://substackcdn.com/image/fetch/$s_!SSB_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 1272w, https://substackcdn.com/image/fetch/$s_!SSB_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SSB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png" width="1251" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1251,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:98911,&quot;alt&quot;:&quot;Figure 6. Good fraud detection will be able to accurately distinguish human visitors from fraudulent visitors. &quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 6. Good fraud detection will be able to accurately distinguish human visitors from fraudulent visitors. " title="Figure 6. Good fraud detection will be able to accurately distinguish human visitors from fraudulent visitors. " srcset="https://substackcdn.com/image/fetch/$s_!SSB_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 424w, https://substackcdn.com/image/fetch/$s_!SSB_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 848w, https://substackcdn.com/image/fetch/$s_!SSB_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 1272w, https://substackcdn.com/image/fetch/$s_!SSB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14fc8452-f9ee-4f8c-9fa3-e2c5a3b06101_1251x748.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 6. Good fraud detection will be able to accurately distinguish human visitors from fraudulent visitors. </figcaption></figure></div><h3>Final words</h3><p>The costs of doing real fraud detection are high when you need large neural nets and/or machine learning models to separate human from fraudulent traffic. It is not just detection in real-time, but these models needs also to be updated continuously to include new fraud types, new modus operandi of fraudsters, etc. Simply because a fraud detection vendor you don&#8217;t want any time gaps between the appearance of a new type of fraud and the detection of that fraud.</p><p>Performing real-time fraud detection is a complex process, and hard to do it right. This is much more complex than writing a JavaScript collecting data from the browser. When this JavaScript contains elementary flaws, it sets the standard for their overall detection quality. We can&#8217;t see or know how the back-end processes work and how well that software is written and configured, but based on the public available JavaScript code I don&#8217;t expect it will suddenly be super-sophisticated high-tech, on the contrary I&#8217;m afraid it just isn&#8217;t.</p><p>10 years ago, in 2013, separating fraud from human traffic was a relatively simple problem. You could just look at the user agent, look at the existence of variables and objects in the browser, webdriver flag, look at some webdriver residues, or rely on a pixel being fired, etc. These days it is much harder and only few understand this entirely throughout the tech stack. Some vendors take advantage of this and sell whatever you want to hear (good marketing, poor product), and unfortunately it is too complex and too technical and thus too time consuming for most companies to verify what really is needed and what happens at their digital frontdoor. Back to the one million dollar question &#8216;What is successfully in addressing these types of fraud?&#8216; Answer: Overreporting (ie. higher fraud percentages) isn&#8217;t better, underreporting (ie. almost no fraud) is also sub-optimal. Ad-fraud detection has to be <strong>accurate</strong>. Period!</p><p>2023-10-31</p><p>Would like the excel sheet? Want to know more? Leave a comment, connect or DM</p><p>[1] <a href="https://en.wikipedia.org/wiki/Law_of_the_instrument#Kaplan">https://en.wikipedia.org/wiki/Law_of_the_instrument#Kaplan</a></p><p>[2] <a href="https://en.wikipedia.org/wiki/Polyfill_(programming)">https://en.wikipedia.org/wiki/Polyfill_(programming)</a></p><p>[3]</p><div id="youtube2-DfHJDLoGInM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DfHJDLoGInM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/DfHJDLoGInM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>[4] <a href="https://www.linkedin.com/posts/kouwenhovensander_javascript-frauddetection-adfraud-activity-7052261359882752000-fHTT">https://www.linkedin.com/posts/kouwenhovensander_javascript-frauddetection-adfraud-activity-7052261359882752000-fHTT</a></p><p>[5] <a href="https://oxford-biochron.com/affiliate-performance-report/">https://oxford-biochron.com/affiliate-performance-report/</a></p><p>[6] <a href="https://en.wikipedia.org/wiki/Telephone_Consumer_Protection_Act_of_1991">https://en.wikipedia.org/wiki/Telephone_Consumer_Protection_Act_of_1991</a></p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What's the Fraud % in 2023 Q3 Traffic?]]></title><description><![CDATA[How much fraud did Oxford Biochronometrics measure in 2023 Q3&#8217;s PAID traffic?]]></description><link>https://news.oxford-biochron.com/p/whats-the-fraud-in-2023-q3-traffic</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/whats-the-fraud-in-2023-q3-traffic</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Thu, 12 Oct 2023 15:06:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pXv6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pXv6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pXv6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pXv6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pXv6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pXv6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pXv6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg" width="1216" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1216,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:833933,&quot;alt&quot;:&quot;Happy Paid Traffic Robot&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Happy Paid Traffic Robot" title="Happy Paid Traffic Robot" srcset="https://substackcdn.com/image/fetch/$s_!pXv6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pXv6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pXv6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pXv6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F309178a4-720e-4e1c-b546-6905b8988219_1216x832.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Happy Paid Traffic Robot</figcaption></figure></div><p>How much fraud did <strong><a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a></strong>measure in 2023 Q3&#8217;s PAID traffic? In order to provide a clean answer we&#8217;ll break down the traffic into two groups: (1) Desktop traffic and (2) Mobile traffic. The ratio is can be seen in figure 1 where desktop traffic is just shy of 20% (1 in 5 visitors) of the total traffic. The other ~80% (4 in 5 visitors) were using a mobile device.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HQRh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HQRh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 424w, https://substackcdn.com/image/fetch/$s_!HQRh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 848w, https://substackcdn.com/image/fetch/$s_!HQRh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!HQRh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HQRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png" width="1456" height="1298" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1298,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:143454,&quot;alt&quot;:&quot;Figure 1. The measured ratio Desktop:Mobile traffic in 2023Q3&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 1. The measured ratio Desktop:Mobile traffic in 2023Q3" title="Figure 1. The measured ratio Desktop:Mobile traffic in 2023Q3" srcset="https://substackcdn.com/image/fetch/$s_!HQRh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 424w, https://substackcdn.com/image/fetch/$s_!HQRh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 848w, https://substackcdn.com/image/fetch/$s_!HQRh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!HQRh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfe01b7a-c50d-46c1-a08f-ac045a8533bd_1683x1500.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. The measured ratio Desktop:Mobile traffic in 2023Q3</figcaption></figure></div><p>The next paragraphs will break down the traffic into fraud and human by operating systems and browser types.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>Desktop traffic</strong></h3><p>How much fraud did appear (1) during 2023Q3, (2) PAID traffic only, (3) desktop only, (4) measured at the landing page(s)?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uhZ9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uhZ9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 424w, https://substackcdn.com/image/fetch/$s_!uhZ9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 848w, https://substackcdn.com/image/fetch/$s_!uhZ9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!uhZ9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uhZ9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png" width="1456" height="1207" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1207,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:466358,&quot;alt&quot;:&quot;Figure 2. Fraud v. Human of paid traffic on desktop broken down by OS and browser type&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 2. Fraud v. Human of paid traffic on desktop broken down by OS and browser type" title="Figure 2. Fraud v. Human of paid traffic on desktop broken down by OS and browser type" srcset="https://substackcdn.com/image/fetch/$s_!uhZ9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 424w, https://substackcdn.com/image/fetch/$s_!uhZ9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 848w, https://substackcdn.com/image/fetch/$s_!uhZ9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!uhZ9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd76e81c-312f-49b3-8d2f-591a5b0f5fa7_1810x1500.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 2. Fraud v. Human of paid traffic on desktop broken down by OS and browser type</figcaption></figure></div><p>The most inner ring in figure 2 contains the total percentages for both groups: fraud and/or human. Each of these groups are broken down to the operating systems and subsequently to the browser which has been used to access a landing page. The percentages in each ring add up to 100%.</p><p>Desktop traffic in 2023Q3 had ~33.3% fraud: Exactly 1 in 3 visitors! That is ~6% more than measured during the previous quarter. Almost than (~61%) of desktop fraud presented itself as MS Windows, then Mac OS (~27%) then ChromeOS (~7%) and Linux (~5%). Within the human group different percentages can be seen: ~63% of the traffic is MS Windows, Mac OS (~30%), ChromeOS (~6%) and Linux (~0.3%).</p><p>When looking at the browser types the majority of fraud had &#8216;Windows with Chrome&#8217; as User Agent. This doesn&#8217;t mean that those devices are really Windows machines with Chrome, they only claim to be. It can also be seen that volume wise traffic from Linux is ~32 times more likely to be fraudulent (0.17% human vs. 5.28% fraud).</p><h3><strong>Mobile traffic</strong></h3><p>Looking only at mobile traffic in 2023Q3, we can see in figure 3 that this type of traffic had ~12.5% fraud, roughly 1 in 8 visitors. An increase of ~3% compared to the previous quarter. It is again a completely different picture compared to desktop traffic in 2023Q3 where 1 in 3 visitors was flagged as fraud. The ratio Android / iOS in human traffic is about 55:45, the exact numbers are: Android (56.39%), iOS (43.61%). The picture changes when looking at fraudulent traffic, where the ratio is 80:20, the exact numbers are: Android (80.57%), iOS (19.43%).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q59w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q59w!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Q59w!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Q59w!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Q59w!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q59w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png" width="1456" height="1167" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1167,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:460804,&quot;alt&quot;:&quot;Figure 3. Fraud v. Human of paid traffic on mobile broken down by OS and browser type&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 3. Fraud v. Human of paid traffic on mobile broken down by OS and browser type" title="Figure 3. Fraud v. Human of paid traffic on mobile broken down by OS and browser type" srcset="https://substackcdn.com/image/fetch/$s_!Q59w!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 424w, https://substackcdn.com/image/fetch/$s_!Q59w!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 848w, https://substackcdn.com/image/fetch/$s_!Q59w!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!Q59w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e600eac-bb28-46de-8bea-bd19ab2c1677_1871x1500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 3. Fraud v. Human of paid traffic on mobile broken down by OS and browser type</figcaption></figure></div><p>This shows -just like previous quarters- that Android traffic contains more fraud than iOS. Also, nearly all iOS fraud doesn&#8217;t originate from real iOS devices. The fraud originates from Android or (special) desktop browsers pretending to be an iOS device by faking the user agent and device fingerprints.</p><h3><strong>Year-over-Year comparison of the results</strong></h3><p>Comparing 2023Q3 with the same quarter last year 2022Q3 provides a comparison without seasonal effects. In 2022Q3 the fraud% on desktop (34.71%) is similar to this year&#8217;s percentage (33.27%). Looking at mobile traffic shows a different picture. In 2022Q3 fraud on mobile was 19.01% (~1 in 5 visitors), but in 2023Q3 it is 12.5% (1 in 8 visitors).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AEx-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AEx-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 424w, https://substackcdn.com/image/fetch/$s_!AEx-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 848w, https://substackcdn.com/image/fetch/$s_!AEx-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 1272w, https://substackcdn.com/image/fetch/$s_!AEx-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AEx-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png" width="1456" height="582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:582,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:323690,&quot;alt&quot;:&quot;Figure 4. Last year's Fraud v. Human of paid traffic on both desktop and mobile.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 4. Last year's Fraud v. Human of paid traffic on both desktop and mobile." title="Figure 4. Last year's Fraud v. Human of paid traffic on both desktop and mobile." srcset="https://substackcdn.com/image/fetch/$s_!AEx-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 424w, https://substackcdn.com/image/fetch/$s_!AEx-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 848w, https://substackcdn.com/image/fetch/$s_!AEx-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 1272w, https://substackcdn.com/image/fetch/$s_!AEx-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18bc26c6-35da-4322-b033-d3b4a6b1aeee_2000x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 4. Last year's Fraud v. Human of paid traffic on both desktop and mobile.</figcaption></figure></div><h3><strong>Conclusion</strong></h3><p>Knowing that the desktop traffic is only 1/5th of the total volume shows that the desktop fraud percentage is only ~6.5% of the total volume. This is still too much, but not as bad as it looks in the chart. The ~12.5% fraud in mobile traffic is lower than last year&#8217;s fraud. It is the result of the following loop: measuring, optimizing campaigns and sources, measuring, optimizing campaigns and sources, etc. [1]</p><p>Note: The numbers are based on traffic measured at landing pages, microsites, lead gen forms, digital sales, check-out pages using <strong><a href="https://oxford-biochron.com">Oxford Biochronometrics</a></strong>&#8217; SecureLead.</p><p>Legend of the donut charts:</p><p>&#129001; GREEN indicates human MOBILE traffic,</p><p>&#128998; BLUE indicates human DESKTOP traffic</p><p>&#128997;RED indicates fraudulent traffic, mobile or desktop.</p><p>[1] <strong><a href="https://www.linkedin.com/posts/kouwenhovensander_leadgen-ecommerce-digitalmarketing-activity-7033787920691949568-0znz">https://www.linkedin.com/posts/kouwenhovensander_leadgen-ecommerce-digitalmarketing-activity-7033787920691949568-0znz</a></strong></p><p>#digitalmarketing #leadgeneration #adfraud #ios #android #b2c</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Bots Scrape News Sites to Generate... (fake) News Sites]]></title><description><![CDATA[Earlier this week I read an article in Het Financieele Dagblad (fd.nl) a Dutch financial website [2][3].]]></description><link>https://news.oxford-biochron.com/p/bots-scrape-news-sites-to-generate</link><guid isPermaLink="false">https://news.oxford-biochron.com/p/bots-scrape-news-sites-to-generate</guid><dc:creator><![CDATA[Oxford BioChronometrics Team]]></dc:creator><pubDate>Wed, 27 Sep 2023 15:35:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ts0F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ts0F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ts0F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 424w, https://substackcdn.com/image/fetch/$s_!ts0F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 848w, https://substackcdn.com/image/fetch/$s_!ts0F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 1272w, https://substackcdn.com/image/fetch/$s_!ts0F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ts0F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png" width="740" height="423" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/110b3be7-121b-49df-aee3-4812998583ec_740x423.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:423,&quot;width&quot;:740,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:427464,&quot;alt&quot;:&quot;Scraping bots, MFA, content farms, adfraud, fake news, bot detection, LLMs, analytics * 3&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Scraping bots, MFA, content farms, adfraud, fake news, bot detection, LLMs, analytics * 3" title="Scraping bots, MFA, content farms, adfraud, fake news, bot detection, LLMs, analytics * 3" srcset="https://substackcdn.com/image/fetch/$s_!ts0F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 424w, https://substackcdn.com/image/fetch/$s_!ts0F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 848w, https://substackcdn.com/image/fetch/$s_!ts0F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 1272w, https://substackcdn.com/image/fetch/$s_!ts0F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110b3be7-121b-49df-aee3-4812998583ec_740x423.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Scraping bots, MFA, content farms, adfraud, fake news, bot detection, LLMs, analytics * 3</figcaption></figure></div><p>Earlier this week I read an article in <a href="https://www.linkedin.com/company/het-financieele-dagblad/">Het Financieele Dagblad</a> (fd.nl) a Dutch financial website [2][3]. It was about bots scraping their content in order to build a vast dataset upon which large language models can be trained. The first paragraph ends with &#8216;Attempts to block websites don&#8217;t suffice&#8217; and a bit further in the article again it is iterated that it&#8217;s &#8216;technically difficult to shield websites against bots&#8217;, and &#8216;they discovered that bots copy articles protected with a paywall&#8217;.</p><p>This doesn&#8217;t surprise me at all. Some bots have become sophisticated and without specialized software they are indistinguishable from normal human visitors. When the stakes are high, the potential profit is enormous, and when you&#8217;re able to pay a thousands of $ a month to hire a team of specialists able to make and continuous update the best content scraping bots known to mankind, then.. then you&#8217;re king of your bot-army. Ah, and for those wondering: These bots will happily ignore the robots.txt, terms and conditions, etc.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Content scraped from millions of news articles end up in LLMs (Large Language Models) like ChatGPT, Bard and a zillion lesser known LLMs. These models, once trained, make big bucks without any compensation to the original content writers and owners. To make it even more bitter &#8220;copycat websites&#8221; use bots to scrape the content from news sites, top publishers, then rewrite the content as an &#8220;rewritten by an LLM&#8221;-version on their &#8220;news websites&#8221; (read: MFA news websites[8]), place ads on these websites to monetize the &#8220;hard work of the bots&#8221;, as can be read in this <a href="https://www.linkedin.com/company/bloomberg-news/">Bloomberg News</a> article [4][5]. These content farms don&#8217;t add value, on the contrary they host a plagiarized version of the news, fake news and/or just clickbait, only and only to lure people (and don&#8217;t worry: also bots) to their websites where these ads are shown. The reason why they use LLMs to rewrite the articles is that it&#8217;s hard to detect plagiarism using automated checker tools. Ironically, these LLMs (re)generating copycat news articles are trained on the content from the very same news websites.</p><p>The bills and *cough* hard work of these copycat websites are indirectly paid by advertisers. By having lots of advertisement slots available, they promise advertisers and agencies the world! Luckily, the URLs of these websites will be relatively new and aren&#8217;t relevant reputation wise. So, they can typically be found in the so called &#8220;long-tail&#8221; of websites. Exactly where your advertisements shouldn&#8217;t be placed. One more reason to use an inclusion whitelist of domains where your ads are allowed.</p><h3>Web Archiving</h3><p>Another form of content stealing is done by archive.today [1]. The website claims to be a time capsule for webpages. At a very first glance a very noble mission statement! Except that this service can be used to capture content from news publishers, paywalled websites, etc. and once captured and archived the articles can <em>immediately</em> be accessed free of charge, even articles behind a paywall.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kHky!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kHky!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 424w, https://substackcdn.com/image/fetch/$s_!kHky!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 848w, https://substackcdn.com/image/fetch/$s_!kHky!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 1272w, https://substackcdn.com/image/fetch/$s_!kHky!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kHky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png" width="1428" height="814" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:814,&quot;width&quot;:1428,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:120358,&quot;alt&quot;:&quot;Figure 1. https://archive.today/ main page to search for and/or index webpages.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 1. https://archive.today/ main page to search for and/or index webpages." title="Figure 1. https://archive.today/ main page to search for and/or index webpages." srcset="https://substackcdn.com/image/fetch/$s_!kHky!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 424w, https://substackcdn.com/image/fetch/$s_!kHky!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 848w, https://substackcdn.com/image/fetch/$s_!kHky!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 1272w, https://substackcdn.com/image/fetch/$s_!kHky!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa7c111-c8d1-4b4a-854a-0ac4d384f175_1428x814.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figure 1. https://archive.today/ main page to search for and/or index webpages.</figcaption></figure></div><p>Be able to achieve this implies archive.today has subscriptions to most of the newspapers, magazines, and not just limited to the fd.nl but also ft.com, nytimes.com, wsj.com, reuters.com, bloomberg.com, also many other non-financial news websites and also in many other languages. Try it for yourself and go to https://archive.today with an URL of an news article behind a paywall, copy/paste the URL in the dark blue search bar to search the archive. If the URL has not been archived yet, you can request their bots to make a capture of the URL by copy/pasting the URL in the red bar.</p><p>This implies that all of these publishers and news websites don&#8217;t have any bot-detection present. And if they do, clearly it doesn&#8217;t work!</p><p>So, how does the archive.today bot work? And with this one many others, because most bots share 95% of the technology stack, only the remaining 5% makes it either an easy-to-detect bot, or a pain-in-the-neck bot. To validate this, I requested a few URLs to be added to the archive. To make my life easier I added an unique suffix to each URL to recognize the specific request made by the bot. The websites hosting these URLs contain <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>&#8217; fraud detection technology and thus I should be able to isolate this &#8220;visitor&#8221;.</p><p>How do their bots look from <a href="https://www.linkedin.com/company/oxford-biochronometrics/">Oxford Biochronometrics </a>&#8217; perspective? All recorded visits by their scraping bot used a similar technology stack:</p><ol><li><p>Based on the IP addresses the bots all reside in a data center, though each in a different country in my small sample test</p></li><li><p>The used User Agent was: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36</p></li><li><p>The browser engine used was indeed a true Chrome/92 browser. If it were a spoofed userAgent, the detection would have flagged it because of that. Spoofing is a red flag!</p></li><li><p>The navigator.webdriver was not existent, in a real Chrome/92 this value should be &#8216;false&#8217;, or &#8216;true&#8217; when the browser is being controlled remotely. Again a red flag!</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8gUj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8gUj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 424w, https://substackcdn.com/image/fetch/$s_!8gUj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 848w, https://substackcdn.com/image/fetch/$s_!8gUj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 1272w, https://substackcdn.com/image/fetch/$s_!8gUj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8gUj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png" width="1456" height="292" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:292,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60307,&quot;alt&quot;:&quot;Figure 2. The archive.today bot archiving Oxford BioChronometrics' homepage&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Figure 2. The archive.today bot archiving Oxford BioChronometrics' homepage" title="Figure 2. The archive.today bot archiving Oxford BioChronometrics' homepage" srcset="https://substackcdn.com/image/fetch/$s_!8gUj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 424w, https://substackcdn.com/image/fetch/$s_!8gUj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 848w, https://substackcdn.com/image/fetch/$s_!8gUj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 1272w, https://substackcdn.com/image/fetch/$s_!8gUj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F693be254-aa47-4a39-9cd4-0eb768795c27_1484x298.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Figure 2. The archive.today bot archiving Oxford BioChronometrics' homepage</figcaption></figure></div><p>The list above can be seen as a low hanging fraud checklist [6] and contains a lot of useful information. The first bullet point shows that the bot resides in data centers, probably all around the world. The first question you should ask yourself is: Why are data center visitors allowed to read premium articles? Which visitors would ever visit your web site from a data center? The 24/7 monitoring and maintenance team? The only possible reason I can think of is VPN users. That&#8217;s because VPN endpoints reside in data centers ensuring high bandwidth and low latency from/to the Internet.</p><p>Chrome/92 was released in July 2021 [7]. That&#8217;s over two years ago! The percentage of vistitors using this browser in Sep 2023 on a desktop is near zero, and if a Chrome/92 visitor is coming from one or more data centers, all sharing the same membership account, you know what to do! Another question of course is: Why hasn&#8217;t archive.today updated this browser to a more modern Chrome version? Simply, because it still works!</p><p>The forth bullet point would be a technical check. This should be validated in the browser using Javascript at the moment the webpage is loaded and accessed. This shows that no bot detection is present at these web sites, as this is the one of the most basic checks which reveals the browser IS a bot. BTW. It&#8217;s also very easy for the bot to have this flag set to the value &#8216;false&#8217;, so don&#8217;t rely on this too much! Besides this technical checks more clues are available in the data that reveal this visitor is a bot. This also accounts for other bots from other &#8216;indexing&#8217; or &#8216;scraping&#8217; services. Making a bot using browser automation isn&#8217;t that hard. The part where it becomes difficult is: How to make the bots blend in <strong>AT SCALE</strong>! That&#8217;s the hard part.</p><p>Because subscriptions are used to access paywalled and/or premium articles, a simple analysis can be run: which accounts accesses all our articles, how often, 24/7, and what percentage of those visits comes from a data center? And data centers in multiple countries? To know which IP ranges are data centers: Databases with metadata and information per IP address range can be bought, and once bought they should be updated monthly, to include newly bought data centers IP ranges.</p><p>The blog started with some quotes: &#8216;Attempts to block websites don&#8217;t suffice&#8217;, &#8216;technically difficult to shield websites against bots&#8217;, and &#8216;they discovered that bots copy articles protected with a paywall&#8217; from the fd.nl article talking about bots scraping their content. Apparently, it appears that with some reasoning, some basic analytics and some IT knowledge it isn&#8217;t that difficult to spot bots. So, how to fight these bots?</p><h3>Analytics, analytics and analytics.</h3><p>Without knowing who is loading your content, what devices are visiting you, where your visitors are coming from you will always be guessing. To be able to separate your legitimate audience from bots and fraud you&#8217;ll have to slice the data, segment it into groups. Having read this article you&#8217;ll know what to look for, it&#8217;s fairly simple, see the 4 point checklist above.</p><p>Once bots are blocked, it is just a matter of time until they adapt and/or update their technology stack. It would be wishful thinking to think that they just disappear. So, once adapted they should reappear in the analytics. Where? Why? Because, as mentioned before: It&#8217;s hard to make bots <strong>at scale </strong>and blend in with the regular human audience. Due to the large scale these bots have to visit your website it automatically becomes a group of statistical outliers and thus will be visible in the analytics. The underlying question is: What makes them unique this time? And next time? And the next-next time? etc.</p><h3>Use common sense</h3><p>Although, I do see the added value of an Internet archive or an Internet Museum preserving content, screenshot webpages and archive entire web sites, at this moment the service is abused to read premium content for free. The simplest and cleanest way without affecting news publishers (and many others) too much and still adhering to their mission would be: a 30 day non-viewing period for newly archived web pages.</p><p>In the other case where fake news websites are launched either to spread fake news based on real actual content, and/or to monetize visitors using advertisements. These bots will work similar to the archiving bot described above. Will they adapt when data center IP ranges are blocked? Yes, they will. Will they start using residential proxies? Yes they will, but at a price: &gt; $2 per Gigabyte. Once you add a bot detection layer and make their life even more miserable, the price of running and continuously updating an infrastructure with scraping bots will again increase.</p><p>The goal is: Make it economically unfeasible! Advertisements will not provide that much profit to cover all these expenses, especially when advertisers start using common sense and avoid advertising on MFA sites by using domain whitelists, and also whitelists of Apps since this phenomenon surely will shift -or already exists- to fake mobile news apps.</p><p>In the end it is all about common sense and the use analytics to see where and how the scraping bots move over time. Content isn&#8217;t a high-value product like limited Nike sneakers, Taylor Swift tickets, NFL tickets, etc. so making it economically unfeasible is doable and will work.</p><p>Questions? Comment, connect and/or DM</p><p><a href="https://www.linkedin.com/in/jan-fred-van-wijnen-455a943?miniProfileUrn=urn%3Ali%3Afs_miniProfile%3AACoAAACxnoEBgkQNyp6m7b75qgYE29hcD8Q3CFk">Jan Fred van Wijnen</a></p><p><a href="https://www.linkedin.com/in/sandraolsthoorn?miniProfileUrn=urn%3Ali%3Afs_miniProfile%3AACoAAABbPSQBtKDdsERLId-Y_s7Uw1WpJoY8Efs">Sandra Olsthoorn</a></p><p><a href="https://www.linkedin.com/company/ndp-nieuwsmedia/">NDP Nieuwsmedia</a></p><p><a href="https://www.linkedin.com/company/news-media-europe/">News Media Europe</a></p><p>#adfraud #fakenews #digitalmarketing #MadeForAdvertising</p><p>[1] <a href="https://en.wikipedia.org/wiki/Archive.today">https://en.wikipedia.org/wiki/Archive.today</a></p><p>[2] <a href="https://fd.nl/bedrijfsleven/1490101/nederlandse-media-willen-plundering-door">https://fd.nl/bedrijfsleven/1490101/nederlandse-media-willen-plundering-door</a></p><p>[3] <a href="https://archive.ph/hCzVe">https://archive.ph/hCzVe</a> (archive.today archived version of article at [2])</p><p>[4] <a href="https://www.bloomberg.com/news/articles/2023-08-24/ai-chatbots-help-web-content-farms-copy-work-from-top-publishers-report-says">https://www.bloomberg.com/news/articles/2023-08-24/ai-chatbots-help-web-content-farms-copy-work-from-top-publishers-report-says</a></p><p>[5] <a href="https://archive.ph/LpnlL">https://archive.ph/LpnlL</a> (archive.today archived version of article at [4])</p><p>[6] <a href="https://www.linkedin.com/pulse/data-exploration-how-help-you-catch-low-hanging-fraud-kouwenhoven">https://www.linkedin.com/pulse/data-exploration-how-help-you-catch-low-hanging-fraud-kouwenhoven</a></p><p>[7] <a href="https://support.google.com/chrome/a/answer/10314655?hl=en">https://support.google.com/chrome/a/answer/10314655?hl=en</a></p><p>[8] MFA (Made for advertising), <a href="https://en.wikipedia.org/wiki/Scraper_site#Made_for_advertising">https://en.wikipedia.org/wiki/Scraper_site#Made_for_advertising</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://news.oxford-biochron.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Oxford BioChronometrics Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>