Ad-Exchange Development

Website Cryptocurrency Mining

Ad-Exchange Development

October 8, 2018 Announcements Code Comment Development News 0

Post exchange listing we will be focusing a lot of attention on the development of the JSE ad-exchange. Here’s some more detailed plans on the system.

If you have any feedback, comments, criticisms or suggestions please let us know here:



To create an ad-exchange where media buyers can purchase advertising placements on publishers websites creating an economy around the JSE token.

The JSE ad-exchange will leverage our existing opted in publisher base to establish a ready to go supply side of approx 10m impressions / day. The demand side will be created via a self-serve platform and header bidding system.



Ad-Tech Development

Initial Advertising Placement Specs

Advertising placements need to be universally deployed across the entire range of websites to display correctly with minimal disruption to user experience on all devices.


Banner Ads

Full width sticky header banner. Pushes HTML down so no content is hidden. Can be a container for a 728×90 or 300×100 depending on screen resolution.

300×250 ads are the most popular and also open up possibilities for video ads. To integrate this we suggest a floating banner either fixed to the bottom right corner or directly above the opt-in banner. A close button will need to be provided to prevent content being covered. This ad unit will only be displayed on screens with a resolution equal or greater than 1920×1080.


In-text Ads

Javascript function can scan for keywords on page and then dynamically insert links for in-page content. Must have features to prevent overwriting existing links or disrupting the document.

Once up and running we can expand the placements to include video ads, html5 ads, interstitials, pops, native ads, do-follow links etc.


Website Owners

Website owners that are currently using the mining and who have opted in will automatically start displaying ads once the ad-exchange goes live. A email notification will be sent prior to the ad-exchange going live will notify publishers of the changes and allow them to opt-out using the site settings if they wish. Revenues from the advertising placements will be paid into the existing wallets of the publishers.


Supply Side Platform

A full suite of tools and reporting will be made available for website owners to control and customize the supply of advertising from their websites.


Website Mining Setup

  • Additional customization options for the opt-in banner
  • New ad-blocker workaround features


Enhanced Mining Stats

  •     Earnings, impressions, uniques, opt-ins, hashes, hash rate
  •     Daily SiteID, SubID, Device breakdown


Advertising Setup

  •     Placement selection (opt-in / opt-out)
  •     Additional placement code snippets (native, banner injection)


Advertising Reporting

  • See below data analysis section for details

All advertising placements will be optional and independently enabled/disabled so a publisher can run just the mining or just intext ads or the entire monetization suite.

Emphasis will be on delivering useful insights and report to enable webmasters to maximise revenues. Geo and device reports for example can highlight which pockets of traffic are most profitable.


Whitelabel Direct Buy Platform

The direct buy platform will enable website owners to easily create a “book advertising campaign” page on their site. Many media buyers will look for an “advertising” link at the bottom of the page and will direct buy placements if available.

The page will be installed by including a javascript snippet on any web page which will load the direct buy applet.

This allows website owners greater control over the sale of advertising on their websites but also gives exposure of the ad-exchange to new media buyers and provides a organic source of growth for the project.



Advertisers are the missing link to the JSE ecosystem. The idea advertiser would be a big brand advertiser who has a large budget to increase awareness of their brand(s). Advertisers will also include independent media buyers, ad-exchanges/resellers, affiliates and performance marketers.


Demand Side Platform

A self-serve platform will allow advertisers to setup campaigns, set budgets, monitor performance and optimize their campaigns.


Create Campaign

  •     Targeting – Device, Browser, Geo, Date Range
  •     Ad Creatives – banners, text lists, links > verification
  •     Budgets – Pricing and caps


Modify Campaigns

  •     Update targeting, creatives and budgets easily
  •     Optimisation – block pubID’s & siteID’s



  •     See below data analysis section for details


Header Bidding (Programmatic)

Programmatic advertising is responsible for 80%+ of global ad spend. It allows large ad exchanges to buy and sell each others inventory and reach the maximum number of advertisers to gain the best price for an ad impression.

We will use the common prebid.js library to collect bid data from the major exchanges. This will then be compared to bids on the self-serve platform with the winning bidder receiving the ad placement.


Big Data & Stats Analysis

We will need to record more data than ever before to provide accurate and effective tracking for advertisers and publishers. The current network volume of 10m hits a day could see a 10x increase post-ICO as we expand our reach. This means we need to plan to store, analyse and correlate at least 100m data points a day and ideally be able to scale up from there.

Each impression will be recorded in an object such as


pubID: 109435,



category: ‘iab232’,

ts: 1538152273847,



campaign: 3425,


geo: ‘GB’,

userAgent: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36’,

device: ‘desktop’,
browser:  ‘chrome’,



This is roughly 200 bytes of data per impression * 100m = 20,000,000,000 bytes = 20 GB data per day.

It is unsustainable to store this data permanently or to keep more than a few hours of data in RAM.

Therefore we propose the creation of a custom stats aggregation program. Data will be processed in real time to create the reporting functions that advertisers and publishers need.


Stats aggregated daily with options for:

Today, Yesterday (default), Last 7 days, Last 30 days, This month, Last month, Custom Range


Stats will refresh at midnight UTC globally as can’t think of a good way to localize the data aggregation for different time zones.



  • Campaign breakdown by pubID, siteID, geo, device, browser
  • Daily spend JSE/USD, impressions, validated*, clicks, conversion tracking
  • Calculated data: cpv, cpc, cpa, profit



  • Earnings breakdown by site ID, sub ID, placement, geo, device, browser
  • Daily earnings JSE/USD, impressions, validated*, clicks,
  • Calculated data: eCPM, eCPC, Quality score**
  • Payment summary, pending rewards


* Validated = viewable for 5 seconds minimum, detect above the fold or come in to view start a timer and ping the server to update after 5 secs.

** Quality score is calculated based on the viewable impressions, advertiser conversions and diverseness of traffic. Will be used to combat fraud and throttle poor quality placements.


Fraud, malware and creative checks

The network is going to get hit by publishers sending fake traffic. Advertisers trying to launch malware attacks and affiliates with aggressive creatives.

There will be two levels of advertisers:

  • Tier 1 independant advertisers that will require automated and manual checks on their adverts and URL’s.
  • Tier 2 ad-exchanges which should have reliable existing controls in place.



The system will leverage our existing fraud checks as well as a range of automated and semi-automated in house solutions. 3rd party data sources will be integrated to provide an additional layer of protection to advertisers.



When working with large exchanges we can rely on their existing malware controls. Independent advertisers and affiliates will require automated checks on exit URL’s to detect and prevent abuse.


Creative Checks

Ad exchanges will have existing controls in place but independant advertisers will require manual checks. Ads should be approved manually within 24 hours of submission.


Experiments With Prebid.js and Ad Placements

Live Example Code:

  • Prebid.js running post page load
  • Querying ad exchanges for a 300×250 and 728×90 on desktop
  • Querying ad exchanges for a 300×100 on mobile
  • 300×250 floating banner pops up above cookie bar/optin bar if present
  • InText advertising links injected
  • Checks for onclick, onmousedown, a href before injecting new link
  • Fallback ads for bidsBackHandler function