Skip to content

Commit

Permalink
feat: add additional sections (#7)
Browse files Browse the repository at this point in the history
* create _category_.json

* added create-account.md

* adds create-a-campaign.md

* update intro.md 

eliminated redundant heading and replaced some text with the MVP draft doc copy

* adds create-an-ad.md

* adds create-an-ad-set.md

* adds launch-your-campaign.md

* update intro.md

* update intro.md

* create _category_.json

* deletes docs/_category_.json

* create campaign-performance

* delete docs/campaign-performance

* create campaign-performance

* delete docs/campaign-performance

* create _category_.json

* create audience-targeting.md

* create reporting.md

* create _category_.json

* create billing.md

* create managing-users.md

* create _category_.json

* create policies.md

* update and rename audience-targeting.md to targeting.md

* update reporting.md

* update reporting.md

* fix: show VAC as json, not quote

* fix: remove link, restructure policies

---------

Co-authored-by: Lukas Levert <79997955+lukaslevert@users.noreply.github.com>
  • Loading branch information
IanKrieger and lukaslevert authored Nov 17, 2023
1 parent 004b630 commit d2cd9be
Show file tree
Hide file tree
Showing 16 changed files with 263 additions and 11 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

# IDE
.idea/
.obsidian/

# Generated files
.docusaurus
Expand Down
4 changes: 4 additions & 0 deletions docs/account-management/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Account Management",
"position": 5
}
26 changes: 26 additions & 0 deletions docs/account-management/billing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
sidebar_position: 1
---

# Billing
By default, all ad campaigns globally will be billed in USD. 
## By invoice
By default, invoices for managed campaigns are sent at the end of the monthly billing cycle for the calendar month. Payment is due within 30 days of receipt of the invoice. Brave may, at our discretion, require pre-payment for advertisers and campaigns prior to the launch of their campaign 

## By credit card
Both Managed Service and self-directed Brave Ads Manager campaigns can be paid by credit card via Stripe. 

- If buying via Managed Service, simply let your account manager know you’d like to pay via credit card.
- If buying via Brave Ads Manager, you will be asked to pre-pay for your campaign by “topping-up” your account via Stripe.
## By cryptocurrency

Both Managed Service and self-directed Brave Ads Manager campaigns can be paid by credit card via Radom.

- If buying ads via Managed Service, simply let your account manager know you’d like to pay via cryptocurrency. Please note that we currently accept Basic Attention Token (BAT), USD Coin (USDC), and Tether USD (USDT) on the Ethereum blockchain.
- If buying ads via Brave Ads Manager, you will be asked to pre-pay for your campaign by “topping-up” your account via Radom.
## Cancellations
For New Tab Takeovers, advertisers that cancel within seven days of the campaign launch date will be charged 50% of the campaign cost. 

If working with our accounts and sales team, you can cancel your Search, Notifications, or Newsfeed ads campaigns at any time and will only be invoiced for the amounts spent up until the campaign was paused. 

If you prepaid your campaign via our self-service option and wish to cancel your campaign early, please note that you’ll need to request a refund for any remaining funds by sending an email to [adops@brave.com](mailto:adops@brave.com)
6 changes: 6 additions & 0 deletions docs/account-management/managing-users.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
sidebar_position: 2
---

# Managing Users
To add new users to your advertiser account, please email adops@brave.com from the same email address you used to set up your account and our team will be happy to help with adding additional users.
4 changes: 4 additions & 0 deletions docs/campaign-performance/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Campaign Performance",
"position": 4
}
125 changes: 125 additions & 0 deletions docs/campaign-performance/reporting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
sidebar_position: 2
---
# Reporting in a privacy-first environment
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.

## Is my reporting 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:

1. Click on the Brave lion icon on the right side of the address bar.
2. Expand the “Advanced Control” menu.
3. Click the purple number 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.

## Brave Ads Manager reporting
Whether your campaign is purchased via Managed Service or Self-Service, all advertisers will have access to the Brave Ads reporting dashboard to report on the performance of campaigns. Campaign dashboards update hourly with the option to export reporting for Notification and Newsfeed ad campaigns on demand.

### Available reporting metrics in Brave Ads Manager
| Metric | Description | Search Keyword Ads | New Tab Takeover | Newsfeed Ads | Notification Ads |
|-------------------|-------------------------------------------------------------------------------------------------|--------------------|------------------|--------------|------------------|
| Impressions | Counted when an ad is displayed on screen for a minimum of one second. | X | X | X | X |
| Clicks | Counted when a user clicks on the ad. Does not include clicks to dismiss. | X | X | X | X |
| Dismissed | Counted when a user clicks the “close” or “x” button to make an ad go away. | | | X | X |
| 10-Second Visit | Counted when a user spends at least ten seconds with the landing page in view in their browser. | X | X | X | X |
| Upvote & Downvote | Counted when a user either upvotes or downvotes an ad in their ad history. | | | | X |
| Conversion | Counted when a user reaches a designated conversion landing page. | X | | X | X |

### Conversion reporting in Brave Ads Manager
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.

## Independent reporting (first-party)
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/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.

### 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.

### 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 (UTM parameters)
- Example: ``[https://example.com/product?utm_source=brave&utm_medium=push_notification&utm_campaign=test](https://example.com/product?utm_source=brave&utm_medium=push_notification&utm_campaign=test)``
- Landing page:``[https://example.com/product](https://example.com/product)``
- Query string parameters (UTM): ``utm_source=brave&utm_medium=push_notification&utm_campaign=test``

##### Clickthrough URL (query string parameters)
- Example: ``[https://example.com/product?ref=brave&type=push_notification&campaign=test](https://example.com/product?ref=brave&type=push_notification&campaign=test)``
- Landing page: ``[https://example.com/product](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.

### 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/](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:
```json
{
"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``.

## Brand lift studies
Brave brand lift studies consist of pre-post research polls conducted via Brave to help advertisers better measure the impact of their ad campaigns beyond media metrics like impressions or clicks. Studies typically measure brand awareness or consideration, but can also measure growth in product understanding or other effects based on paid media spend with Brave.

Prior to campaign launch, advertisers provide Brave with a series of questions structured into a survey and distributed via Brave Ads to a targeting profile that matches the ad campaign. After the campaign, the same set of questions (and additional questions that measure ad recall) will be fielded.

The pre- and post-campaign survey results are compared to gauge the impact of the advertising. Here are some examples of questions that may be fielded during a study:
- **Brand awareness**: Have you heard of “advertiser name” before?
- **Ad recall**: Have you seen an ad for “advertiser name” in the past week?
- **Product consideration**: How likely are you to shop for “product name” in the next several months?

Studies can run independent of spend for a fixed cost, but may also be included as a bonus on a per-campaign basis for spends above a specified threshold. Get in touch with our sales team to learn more.
17 changes: 17 additions & 0 deletions docs/campaign-performance/targeting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
sidebar_position: 1
---

# Audience targeting in a privacy-first environment
Brave has pioneered a new breed of privacy-respecting targeting that is matched directly on the user’s device (aka “client-side”), without any personal data phoning home to Brave’s servers.  To achieve targeting at scale in a privacy-respecting capacity, Brave Ads uses on-device machine learning to anonymously match users to relevant ads. The system is built by leading privacy engineers with a range of cryptographic technologies that ensure that no personally-identifiable data ever leaves the user’s device. Contrary to other major ad tech providers who suck up as much personal data as they can, Brave only ever sees anonymous data.

Each of Brave’s ad units has a unique approach to achieve varying levels of ad relevance with the end user:

| | | | | | |
|---|---|---|---|---|---|
|**Targeting**|**Description**|**Search keyword ads**|N**ew Tab Takeover**|**Newsfeed Ads**|**Notification Ads**|
|**Keywords**|Keywords entered into Brave Search.|X||||
|**Country and state**|Location determined by IP address. Only top level country and state level information is inferred (State level targeting is available only in the USA).|X|X|X|X|
|**Time of day**|Delivery based on local time inferred by the IP address.|||X|X|
|**Contextual segments**|IAB standard contextual segments based on page content and domains visited by the user.||||X|
|**Custom intent segments**|Bespoke segments built with keywords and domains that the advertiser wishes to target. Minimum spend required, and only available with managed service campaigns.||||X|
4 changes: 4 additions & 0 deletions docs/getting-started/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Getting Started",
"position": 3
}
14 changes: 14 additions & 0 deletions docs/getting-started/create-a-campaign.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
sidebar_position: 2
---

# Create a campaign
To get started, select the “New Campaign” button in the top right hand corner of Brave Ads Manager and fill out the required fields. The campaign level is where you will set the following parameters:

- **Campaign name** helps to identify campaigns more easily in your account.
- **Start and end** dates define the beginning and end of your campaign delivery window, including time of day.
- **Time zone** defines what timezone your campaign will begin and end in.
- **Formats** define where in the Brave Ads ecosystem your ads will be displayed. For more information on Brave’s ad formats, their characteristics, and availability in Brave Ads Manager, click here [link to ad placements section].
- **Location** defines where in the world your ads deliver. State-level targeting is currently only available in the United-States.
- **Budget** defines how much you aim to spend throughout the lifetime of your campaign.
- **Payment** method defines how you’ll pay. Brave accepts USD and BAT [link to ad billing section]
5 changes: 5 additions & 0 deletions docs/getting-started/create-account.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
sidebar_position: 1
---
# Create an account
To create an account, visit ads.brave.com and fill out the requested business information. All new advertiser accounts go through manual approval by the Brave team, and are typically processed within 48 hours. Please allow up to 72 hours before contacting support about account activation.
11 changes: 11 additions & 0 deletions docs/getting-started/create-an-ad-set.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
sidebar_position: 4
---

# Create An Ad Set

After you’ve set basic parameters for your campaign, you’ll need to further define the targeting and delivery parameters of your ads. You can set up multiple ad sets within a campaign, for example, when you wish to target different ads to different device types or contextual segments. The ad set level is where you will set the following parameters:

- **Ad set names** will help to identify ad sets more easily in your account.
- **Categories** are contextual segments based on the IAB standard taxonomy. They determine what type of interests you’d like to target with your ad set.
- **Platforms** define what types of devices your ad will be delivered to.
10 changes: 10 additions & 0 deletions docs/getting-started/create-an-ad.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
sidebar_position: 3
---
# Create an Ad
There are two ways to create an ad in Brave Ads Manager:

## During campaign set up
During the campaign creation process, you’ll reach a step called Ads where you’ll see the option to create a new ad. Follow the onscreen instructions, which will provide guidelines on what to enter or upload based on the type of campaign you chose earlier on. This step will also show a preview of your ad to simulate how it will be seen by your audience.
## Independent of any campaign set up
To create an ad outside of a campaign, for example to be used across many campaigns, start from the home screen in Brave Ads Manager and select Creatives from the left sidebar. Once in the ads menu, hit the New Creative button in the top right corner of your screen. Then, choose the placement type that you wish to create an ad for.
5 changes: 5 additions & 0 deletions docs/getting-started/launch-your-campaign.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
sidebar_position: 5
---
# Launch Your Campaign
Once you’ve set campaign, ad set, and ad parameters, you’re ready to top-up your account with a dollar balance and launch your campaign. Brave accepts USD and BAT.
Loading

0 comments on commit d2cd9be

Please sign in to comment.