Reporting
Brave Ads is built from the ground up to support the highest privacy standards. By default, the Brave browser blocks third-party tracking including Google Analytics, Adobe Analytics, and other third-party reporting and measurement vendors. While Brave Ads respects (and does not collect) user data, it also gives advertisers useful, granular reporting on campaign performance data in a simple, easy-to-read dashboard. It also enables marketers to see campaign performance using their own reporting systems.
Brave Ads dashboard
Once your Brave Ads campaign has been staged and approved for deployment, you’ll receive access to your personal Brave Ads reporting dashboard. Campaign dashboards update hourly with the option to export Notification ads and Newsfeed ads campaigns on demand.
Available reporting metrics:
*Note that not all metrics are available for all ad formats, see Ad Formats for available reporting by unit.
- Views: Total ads served.
- Clicks: User clicked through the ad to the advertiser’s landing page.
- Dismissed: User clicked or swiped-away to close and dismiss the notification before the default notification timeout.
- 10-second visits: User clicked through the ad and spent a minimum of 10 consecutive seconds on the landing page in the active tab.
- Upvote & downvote: Users have the option to upvote or downvote Notification ads from the Brave Rewards menu. This is only available on desktop.
- Conversions: Report successful 1-, 7-, or 30-day post-view or post-click conversions for purchase completion, successful registration, or “thank you” landing page URLs.
We strongly recommend including conversion reporting for your Brave campaign. Because Brave ads are delivered via the browser, we are able to report on conversions (signups, orders, etc.) attributed to the campaign using a URL. To include conversion reporting in the Brave Dashboard, please provide a conversion confirmation page URL so Brave can map the event back to the campaign.
The conversion page URL can have a “wildcard” in the URL path or query-strings to ignore any strings that may be variable. For example, https://example.com/checkout?order=12345/thankyou can be expressed for all checkouts as: https://example.com/checkout?order=*/thankyou.
Is my reporting being blocked?
The first step is to understand what is being blocked by the Brave browser. To do so, open Brave on your desktop and navigate to your business site or campaign landing page and follow these steps:
- Click on the Brave lion icon on the right side of the address bar.
- Expand the “Advanced Control” menu.
- Click the purple number (e.g. the number “8” shown below) located next to “Block Trackers and Ads’’ to display what is currently being blocked.
Blocked scripts will disable most, if not all, functions for third-party tracking.
Independent methods of measurement
In addition to reporting offered via the Brave dashboard, you can use a combination of the following methods to accurately and independently verify the results of your Brave Ads campaign:
- Unique landing page URL
- Referral/promo code for conversions
- Query string parameters (i.e. UTMs)
- Verifiable Ad Conversions (VAC)
1. Unique landing page URL/click tracking parameters
A unique landing page is a great option to count traffic through your site’s server logs or first-party analytics dashboard. By creating a dedicated landing page URL (like domain.com/brave) for the campaign and ensuring it’s used only for Brave Ads campaigns, traffic to and from this page can be attributed to paid campaigns with Brave.
2. Referral/promo code
A referral or promo code (e.g. brave15) can be used at the time of checkout to report on conversions attributed to your campaign. We recommend the referral or promo code is automatically populated so users don’t forget. Using your platform’s reporting, you can then view the number of conversions that have used the promo or referral code.
3. Query string parameters and first-party cookies (i.e. UTMs)
Click URL tracking parameters are allowed, but only when used in a way that your web server or web application can detect. Using third-party reporting such as Google Analytics will not show accurate data. Please note, only direct URLs are allowed for the click link—no redirects.
Clickthrough URL example (UTM parameters):
https://example.com/product?utm_source=brave&utm_medium=push_notification&utm_campaign=test
Landing page:
https://example.com/product
Query string parameters (UTM):
utm_source=brave&utm_medium=push_notification&utm_campaign=test
Clickthrough URL example (query string parameters):
https://example.com/product?ref=brave&type=push_notification&campaign=test
Landing page:
https://example.com/product
Query string parameters:
ref=brave&type=push_notification&campaign=test
Parse values and set first-party cookies based on the query string parameters from the clickthrough URL.
This entire query string can be set as the value or parsed into individual key value pairs.
When the same user lands from a different channel, your same code snippet can append or overwrite the cookie values with the new parameter values depending on your preference.
When the user completes the expected action and a network request is made back to your servers, the cookies should be attached to the request headers and you can see that a user has come from a Brave Ads campaign.
4. Verifiable Ad Conversions (VAC)
Verifiable Ad Conversions (VAC) is an optional feature-set of Brave Ads Conversion Reporting. VAC provides Brave advertisers with the ability to determine their return on ad spend by privately reporting encrypted Conversion IDs. Advertisers can then audit the list of encrypted Conversion IDs to verify that the converted user can be attributed to a Brave Ads campaign.
When an eligible user lands on the Conversion Page, a process is invoked that enables the advertiser to account for the specific transaction event, while maintaining user privacy and anonymity. Not even Brave can read or learn anything about that event (aside from the anonymously reported conversion event count). This enables privacy from end-to-end and allows users to feel better about their Conversion Event, knowing that no one can learn anything from the conversion.
Advertisers who choose to use VAC will generate a public-private key pair in the Account Settings of the Brave Ads interface. Brave will retain the public key, sign the Conversion ID with it, and report the encrypted Conversion ID. Only the Advertiser will have the private key, and only the advertiser will be able to decrypt the encrypted Conversion ID.
It’s crucial that the advertiser does not lose their private key for Verifiable Ad Conversions.
Conversion Event ID details
Verifiable Ad Conversion Reporting is done by a Conversion ID. For your site, this may be an order number, a transaction ID, or something similar.
Requirements:
- The Conversion ID value must be unique for each conversion. Duplicate Conversion Event ID values will result in accounting discrepancies.
- The Conversion ID must be between 1–30 characters long, contain only alphanumeric characters (as well as dashes), and match this regular expression:
[-a-zA-Z0-9]{1,30}
. - Event values longer than 30 characters will fail, preventing the event from being accurately accounted for. You may check if your identifier is valid by using a site like https://regex101.com/.
- Conversion IDs must not include user identifiers or personally identifying information. For example, Conversion IDs like the following are not permitted:
<user id>-<random id>
,<random id>-<email address>
.
Brave uses TweetNacl to encrypt the Conversion ID. Encrypted Conversion Envelopes will look like:
{
"alg": "crypto_box_curve25519xsalsa20poly1305",
"ciphertext": "BTX6xKZ4vITaWa11EMcly7gyQ3rN8JoAYvoHeIiYuSS9Lsc4GUQBN54+otIGOsxk",
"epk": "3N1RKgiOvOXCGjO6txtEwR0DzpEp9U+PkbpwxAkAGwg=",
"nonce": "N4EH/upCXxyRPLmYLvYCyuaKQASlA6Qo"
}
Implementation options
Brave provides two implementation options for Verifiable Conversions using a URL pattern or DOM element pattern.
URL Pattern
An advertiser has a Conversion ID that is present as a query string parameter in the Conversion Page URL pattern. The advertiser must provide Brave with the query string key that identifies the
Conversion ID.
When an eligible user lands on the Conversion Page URL, Brave will:
- Record a conversion event
- Parse the URL for the query string key that identifies the Conversion ID
- Encrypt and record the Conversion ID
Take, for example, the following Conversion Page URL: https://example.com/checkout?order=ABC-12345-xyz. Brave will look for the query string key order and encrypt the value ABC-12345-xyz
.
DOM Element Pattern
An advertiser has a Conversion ID that is present in the Document Object Model (DOM) of the Conversion Page URL.
The advertiser must provide Brave with the DOM element that uniquely identifies the Conversion ID on the page.
When an eligible user lands on the Conversion Page URL, Brave will:
- Record a conversion event
- Parse the DOM for the regex pattern that identifies the Conversion ID
- Encrypt and record the Conversion ID
Take, for example, the following DOM element: <div class='order-id-value'>Your Order ID: ABC-12345-xyz</div>
. Brave will look for this pattern Your Order ID:.*
, set a capture group ([-a-zA-Z0-9]*)
and encrypt the value ABC-12345-xyz
.