-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement ad conversion attribution for Brave Ads #6536
Comments
Depends on #5231 |
|
No longer blocked on #8362 |
Test plan Test case 1: Check for
Test case 2: conversion of an ad from live catalog on staging
Test case 3: Sequential conversions of two ads
Test case 4: Parallel conversions of two ads
Note: you many encounter: #8644 |
Verified passed with
PASS Test Case 1 - Check for Example from staging catalog:
PASS Test Case 2 - conversion of an ad from live catalog on staging Confirmed the following in the logs:
And then a bit farther down:
PASS Test case 3: Sequential conversions of two ads First ad (BBB):
Second ad (AAA):
PASS - Test case 4: Parallel conversions of two ads First Ad (BBB):
Second Ad (AAA):
Verification passed on
Test case 1: Verified live catalog on staging.
Test case 2
Test case 3
Ad2:
Test case 4
Verification passed on
Test1: PASS
Test2: PASS
And then a bit farther down:
Test3: PASS 1st ad (BBB)
2nd Ad (AAA)
Test 4: PASS |
Description
Many advertisers would like to confirm their "return on ad spend", that is, confirm that when they ran an ad, it resulted in the actual outcome they wanted (e.g. buying their product from a website, signing up for a lead form, etc). In the broader ad-tech ecosystem, this is typically accomplished using "conversion pixels", third party trackers that are loaded on checkout pages, and transmit cookies associated with an ad view. Brave, of course, blocks out these trackers. We are implementing an improved version of this capability in Brave Ads, that uses the same authorized by anonymous confirmation system that supports the rest of Brave Ads. This ticket includes the client side work to make this possible.
An example conversion URL is as follows:
https://www.onlinestore.shopping/checkoutfinal/123456/complete.html
If the number between checkoutfinal and complete.html is some kind of purchase ID, the URL pattern would use “*” to ignore it when recognizing the URL.
Catalog
To perform this reporting, the client will need to pull a new version of the catalog, v3. The creative set object will include two new fields called "conversionURLPattern" and "conversionType".
"conversionType": either "postview" or "postclick"
"conversionURLPattern": A pattern for an http/https site that conforms to the following: https://developer.chrome.com/extensions/match_patterns
"conversionObservationWindow": 1,7 or 30 (days)
Browser Setting
We should have an additional setting under "Ads Settings" that allows ad users to specifically opt out of ads conversions:
"Ad Conversions: Provides a private way for Brave advertisers to understand the outcomes of their advertising. Turning this off may result in you earning less because you will be eligible for fewer campaigns."
Ad Library Behavior
If ad conversions has been turned off in the browser, the ad libraries should not serve any creative sets that have associated conversion settings.
If ad conversions are still enabled for the browser, do as follows.
If the ad from the creative set has a "postview"/"postclick" conversion, and the user sees/clicks that ad respectively, start a timer associated with that creative set id, for an amount of time specified in the conversionObservationWindow. While that timer is active, check on page load for URLs matching the conversionURLPattern value. If it is observed, and a conversion has not already been tracked for this creative set, schedule a "conversion" type confirmation event (https://github.com/brave/brave-browser/wiki/Security-and-privacy-model-for-ad-confirmations) to fired off. The conversion event should be tracked in history so it does not repeat. If another ad in the creative set has seen and the conversion has not happened, reset the timer to the original time.
The actual send of the conversion confirmation should be on an exponential random delay with a 24 hour mean. This confirmation only indicates that a matching URL associated with the campaign was visited, not what the URL was.
NB: There are also restrictions on this URL imposed at the campaign execution side to further enforce privacy (e.g. site is a typical shopping/commerce site, where the advertiser can demonstrate control).
The text was updated successfully, but these errors were encountered: