Open source, privacy focused client side library for the creation and monetisation of online audiences.
[!WARNING]
This repository and project have been archived. Whilst we still believe in the idea of an open-source and open-definition base IAB audiences, our small team has never been able to complete this project, and after two year of zero love it is time to admit defeat. We thank all those whom have gotten in touch with interest and words of support and please continue to do so [email protected].
edkt();
An open source, privacy focused client-side library for the creation and monetisation of online audiences.
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.
EdgeKit allows publishers to:
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>
EdgeKit will execute the following high level flow:
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.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
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
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.
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
});
Full developer documentation coming soon!
$ git clone https://github.com/AirGrid/edgekit.git
$ cd edgekit
$ npm i
$ npm test
$ npm run build
AirGrid provides a managed layer for your EdgeKit deployments.
Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.
See Contributing.
MIT License | Copyright (c) 2020 AirGrid LTD | Link