Coder Social home page Coder Social logo

bazaar's Introduction

Bazaar

Bazaar is a webextension (Firefox, Chrome) that collects Prebid.js bid requests. A devtool panel allows collecting an advertiser raw bid response (by parsing the XHR log).

Header bidding

Header Bidding is a client side technology for auctionining online advertising. It allows publishers to offer inventory to advertisers and exchanges simultaneously, before calling into an adserver. Wait what? Every time a client visits a webpage (let's say www.theguardian.com), a piece of javascript is downloaded which executes an auction for properties the site would like to monetize (banners, video). Under the hood the auction javascript sends out a bid request (GET) to a pool of advertisers the publisher partners with, broadcasting information about the inventory (size, url) and the client (useragent, ip). The advertiser responds to the request with either a valid bid, or with a "pass". Once all bids are collected, an auction is ran on the client and the winning bid (if any passes eligibility criteria) is sent out to the publisher adserver.

This extension is born from an itch I had to scratch after over half a decade spent in a large European supply-side adtech company. From 2012 to 2019 I had a chance to build a decent grasp of bid dynamics and server side machinery, but I never got much of chance to get my hands dirty on the client.

This extension logs Prebid.js traffic (a popular header bidding solution). The goal is to collect a dataset and, over time, be able to answer the following questions:

  1. How much are advertiser willing to pay for my attention?
  2. Who's bidding for me and where?
  3. Can any bidding pattern be identified?

Being online advertisement a high numbers game, I don't expect to extrapolate anything from a single datapoint, but if this gets any interest and traction it could be interesting to carry out a coordinated effort (following the example of the folks at https://tracking.exposed/).

Build and install

Bazaar is currently under development and not yet available on Mozilla and Google repositories.

Install dependencies with

$ npm install

Build the extension with:

$ npm run build

The resulting estension-dist can be manually installed on Firefox and Chrome/Chromium.

Alternatively, the extension can be tested using the web-ext tool with

$ web-ext run --target=firefox-desktop

or target Chromium with

$ web-ext run --target=chromium --chromium-binary $CHROME_BIN

Data collection and analysis

Bazaar uses pouchdb to locally store Predib requests and responses. The database attempts to sync to a couchdb instance (expected to run at http://localhost:5984) for offline data analysis.

bazaar's People

Contributors

gmodena avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

bazaar's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.