AdGraph

AdGraph

AdGraph is an open, decentralized on-chain graph of user preferences. Apps add tags that a user is interested in, which advertisers (such as the apps themselves) can use to target/recommend content.

The problem AdGraph solves

A New Era of Web 3

Web3 has gone beyond just finance and tokens and has entered social, gaming and social-fi. All these use cases make your wallet an identity. Just like web2, the tracking of preferences of a profile continues to be closed and centralized in all these apps.

Enter AdGraph

AdGraph decentralizes and opens up the preferences of a profile. It is an onchain graph of tags where any app can add preferences for a user, for example when a user browses through the profile of a travel vlog, the app can add "travel" to the user's profile.

This profile is open, in the sense any app can add tags for their users, and can see the data added by other apps. The user can block/allow apps that are allowed to add, or can block/remove tags from their profile.

This allows decentralized apps to collaborate and contribute to the user's profile because they themselves can utilize the data added in order to target content or ads. Advertisers can upload a content, and we use AI to filter out the wallet addresses who will be interested in that content.

AdGraph can be used by the individual applications who contribute to the network to personalize their content. It can also be used by ad networks who operate across applications in order to target products to users.

Imagine Shop3, a shopping site and Scroll, a social media. They keep publishing what the user’s interests are to their ad graph. When the user opens a shoe page on Scroll, "shoe" gets added to AdGraph. When Shop3 wants to advertise a shoe, it can instantly pull up wallet addresses interested in that particular tag. Maybe Shop3 can even advertise on Scroll. The network grows stronger as more apps join the network.

Read More

https://t.ly/fKit5

Challenges we ran into

We faced 4 challenges: storage, allowlisting, a technical issue and a UX issue.

Storage

We had to decide a place to store all this data. Our initial thought was storing it on IPFS, and updating the user's onchain profile with the CID. This was thought keeping in mind that the clickstream events will be a lot. However we chose to store this whole graph onchain after we came up with a way to use CoinBase Paymaster to sponsor and bundle all these transactions. This also helps to allow the user to alter the data associated with them directly through our contracts.

Allowlisting

We were in a dilemma if we should maintain one list of tags and allow all apps to modify that. Such an approach might lead to spam. To prevent that, we will issue a temporary token to all apps that wish to integrate with AdGraph, and resolve that token into the app's name inside the edge function we use to handle the clickstreams and send the onchain transaction. All this happens async with Paymaster in the background.

Technical Issue

We had issues bundling the coinbase paymaster sdks with the Fleek function using the normal build procedure. We had to manually build and link the packages using esbuild for it to work properly. Fortunately folks from Fleek helped us through this.

UX Issue

We built the whole product, but didn't know how to make an advertiser understand the problem we were solving. We solved this using AI. We some sample sites which integrate AdGraph, and used AI where advertisers can upload content, from which we will aotumatically extract labels and perform search to find the wallet addresses who will be interested in it. We show the advertisers the list of wallet addresses and which tags make them suited for the content.

Tracks Applied (4)

Coinbase Smart Wallet

Coinbase Smart Wallet enables users to modify their AdGraph profile. If someone wants to block an app or a tag associate...Read More

Paymaster and Bundler

Paymaster is absolutely crucial for AdGraph. We wanted to make tag additions as frictionless as possible. That's why it'...Read More

OnchainKit

We use OnchainKit to improve UI elements, for example we take the wallet connected user's profile picture and display th...Read More

Discovery Track

In a world where social media and ecommerce is onchain, the wallet becomes their identity. AdGraph is an open, decentral...Read More

DISCOVERY with Fleek

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion