All Projects → AirGrid → edgekit

AirGrid / edgekit

Licence: MIT license
Open source, privacy focused client side library for the creation and monetisation of online audiences.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to edgekit

react-advertising
A JavaScript library for display ads in React applications.
Stars: ✭ 50 (+19.05%)
Mutual labels:  advertising, prebid, prebidjs
bool-expr-indexer
A fast boolean expression index implementation, especially for RTB ad selection. A Go implementation of the core algorithm in paper <Indexing Boolean Expression>
Stars: ✭ 49 (+16.67%)
Mutual labels:  advertising, rtb
TeadsSDK-iOS
Teads SDK iOS Sample App - Check out an open-source sample of the Teads iOS SDK implementation
Stars: ✭ 22 (-47.62%)
Mutual labels:  advertising, iab
dfp-prebid-lineitems
A PHP script to setup and update your Prebid Line Items in DFP
Stars: ✭ 18 (-57.14%)
Mutual labels:  prebid, prebidjs
campaign-manager
The Camapign Management UI for RTB4Free, the open source bidder / DSP.
Stars: ✭ 24 (-42.86%)
Mutual labels:  advertising, rtb
SDDC.Lab
Ansible playbooks for automated deployment and configuration of a nested vSphere environment with NSX-T
Stars: ✭ 117 (+178.57%)
Mutual labels:  edge
partner-bot
Automates partnerships in the big community of discord.
Stars: ✭ 119 (+183.33%)
Mutual labels:  advertising
GroupDocs.Classification-for-.NET
GroupDocs.Classification-for-.NET samples and showcase (text and documents classification and sentiment analysis)
Stars: ✭ 38 (-9.52%)
Mutual labels:  iab
pocketizer
Unofficial Pocket new tab extension for Chrome, Firefox, and Edge
Stars: ✭ 43 (+2.38%)
Mutual labels:  edge
history-of-ie-incompatible-sites-list
History of IE incompatible sites list provided by Microsoft to redirect from IE11 to Chromium Edge
Stars: ✭ 29 (-30.95%)
Mutual labels:  edge
Multi-task-Conditional-Attention-Networks
A prototype version of our submitted paper: Conversion Prediction Using Multi-task Conditional Attention Networks to Support the Creation of Effective Ad Creatives.
Stars: ✭ 21 (-50%)
Mutual labels:  advertising
Sarrafi
💵 Exchange price application for android
Stars: ✭ 49 (+16.67%)
Mutual labels:  edge
pyderman
Install Selenium-compatible Chrome/Firefox/Opera/PhantomJS/Edge webdrivers automatically.
Stars: ✭ 24 (-42.86%)
Mutual labels:  edge
motor-defect-detector-python
Predict performance issues with manufacturing equipment motors. Perform local or cloud analytics of the issues found, and then display the data on a user interface to determine when failures might arise.
Stars: ✭ 24 (-42.86%)
Mutual labels:  edge
safety-gear-detector-python
Observe workers as they pass in front of a camera to determine if they have adequate safety protection.
Stars: ✭ 54 (+28.57%)
Mutual labels:  edge
AdvantEDGE
AdvantEDGE, Mobile Edge Emulation Platform
Stars: ✭ 36 (-14.29%)
Mutual labels:  edge
rapid-bidder
Real Time Bidding (RTB) - Demand Side Platform ( DSP ) application based on vanilla-rtb stack
Stars: ✭ 59 (+40.48%)
Mutual labels:  rtb
click-through-rate-prediction
📈 Click-Through Rate Prediction using Logistic Regression and Tree Algorithms
Stars: ✭ 60 (+42.86%)
Mutual labels:  advertising
discourse-adplugin
Official Discourse Advertising Plugin. Install & Start Serving Ads on Your Discourse Forum
Stars: ✭ 115 (+173.81%)
Mutual labels:  advertising
edge-contextMenuSearch
Extension for MS Edge browser to provide search option in context menu for selected text
Stars: ✭ 13 (-69.05%)
Mutual labels:  edge

License: MIT code style: prettier npm (scoped) Build, Test and Publish

EdgeKit | edkt();

An open source, privacy focused client-side library for the creation and monetisation of online audiences.

EdgeKit Prebid Flow

What is EdgeKit? 🤔

EdgeKit is an open source library which allows publishers to quickly and easily start to use their own 1st party data to create audience segments for monetisation via programmatic advertising.

As a publisher, you can use EdgeKit to segment your audience, in a privacy focused manner, by keeping all your web visitors personal information on their device. No need for third party tracking or sending personal data to the server.

Audience definitions are collaborative, and allow marketers & publishers to agree upon a taxonomy & definition in which all can trust.

Why use EdgeKit? 🎖️

EdgeKit allows publishers to:

  • Control their 1st party data, reducing the reliance on 3rd parties for tracking & segmentation of their users.
  • Respect the privacy of their audience, by keeping their personal information local to their device and easily purgeable.
  • Earn increased revenue from online advertising, by decorating bid requests with audience signals.

Key Features 🔑

  • Community driven, free & open source forever.
  • Pre-packaged with a taxonomy of IAB Data Transparency Framework audiences.
  • Integrates with header bidders, SSPs or ad-servers.
  • Cookie-less and 3rd party tracking free.
  • Compatible with all modern web browsers.
  • No server infrastructure needed.
  • Developed with TypeScript.
  • No external dependencies.
  • Only 1.5kb gzip & minified.

Installation 🚪

Using npm:

npm i -S @airgrid/edgekit

Using unpkg:

<!--ES module-->
<script
  type="module"
  src="https://unpkg.com/@airgrid/edgekit?module"
  crossorigin
></script>

<!--UMD module-->
<script src="https://unpkg.com/@airgrid/edgekit" crossorigin></script>

Note: using the above URLs will always fetch the latest version, which could contain breaking changes, you should pin a version number as shown in the below example:

<!--UMD module-->
<script
  src="https://unpkg.com/@airgrid/[email protected]/dist/edgekit.umd.js"
  crossorigin
></script>

Usage 🤓

Summary

EdgeKit will execute the following high level flow:

  1. Check for GDPR compliance. The IAB has an API to check for GDPR compliance. Edgekit provides a simplified wrapper around this API in order to check for compliance. A list of vendor ids is passed to the function.
  2. Register, run and store user defined pageFeatureGetters. In this step the library will run getters that fetch page features describing the current page load, which will be stored locally to create a history of the pages viewed by the user visiting your site.
  3. Run audience definitions against the local page views. The library now checks the users local history to see if they match any of the audience definitions, storing any matched audiences.
  4. Make matched audiences available to bidding. The final step is to pass the newly defined audience signals to third party bidders, for example via Prebid.

Full Flow

Page Feature Getters

A page feature is a value that describe a pages content. The features can be something concrete like a list of keywords on a page, or something more abstract like a vector. Learn more

Audience Definitions

In EdgeKit an audience refers to a group of users you would like to identify based on a feature, the frequency of the user seeing the feature and how long ago or recently they saw it. Learn more

Vendor Ids

Vendors are companies that are participating in the Transparency and Consent Framework. Quoting the definition from IAB policy site, a vendor is:

“Vendor” means a company that participates in the delivery of digital advertising within a Publisher’s website, app, or other digital content, to the extent that company is not acting as a Publisher or CMP, and that either accesses an end user’s device or processes personal data about end users visiting the Publisher’s content and adheres to the Policies...

You can find the list of vendors (including Airgrid LTD) and their ids here.

Running Edgekit

Edgekit is run by calling the edkt.run function with page feature getters, audience definitions and vendor ids:

import { edkt } from '@airgrid/edgekit';

// If GDPR applies and consent has not been established then this function won't do anything
edkt.run({
  pageFeatureGetters: ...,
  audienceDefinitions: ...,
  vendorIds: ..., // vendor ids to check for consent
});

Alternatively, pass in a flag to omit the GDPR check if it's not necessary for your use case:

edkt.run({
  pageFeatureGetters: ...,
  audienceDefinitions: ...,
  omitGdprConsent: true
});

Bidding Integration

Developer Setup 💻

Full developer documentation coming soon!

$ git clone https://github.com/AirGrid/edgekit.git
$ cd edgekit
$ npm i
$ npm test
$ npm run build

EdgeKit ❤️ AirGrid

AirGrid provides a managed layer for your EdgeKit deployments.

EdgeKit AirGrid

Contributing 🎗️

Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.

See Contributing.

Licence 💮

MIT License | Copyright (c) 2020 AirGrid LTD | Link

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].