Note
Journeys is becoming Banners. Opt-in access starts October 13, 2026. To get access, fill out the Banners opt-in form. Your existing Journeys keep running whether or not you opt in.
Look up what each banner campaign setting does, from placement rules to link data. This reference also covers campaign statuses and how Branch picks which banner a visitor sees. For the steps to build a campaign, including analytics tags, A/B tests, and scheduling, see Create a Banner Campaign.
Placement rules
Placement rules decide which pages a banner can appear on. You add them under Placement in the Define step, and each rule compares the page URL with the values you enter. With no rules, the banner can appear on every page. With several rules, the page must match every one.
| Condition | The rule matches when the page URL |
|---|---|
| exactly matching | Is exactly the value |
| not matching | Isn't exactly the value |
| starting with | Begins with the value |
| not starting with | Doesn't begin with the value |
| whose domain matches | Is on the domain you enter |
| whose domain does not match | Isn't on that domain |
| whose path contains | Has the value anywhere in its path |
| whose path does not contain | Doesn't have the value in its path |
| with query param key | Has the query parameter. Then choose whose value matches, whose value starts with, or whose value matches anything. |
| without query param key | Doesn't have the query parameter |
You can enter several values in one rule. Press Enter after each one.
Devices
Mobile campaigns need at least one device type under Device & Operating System in the Audience step. The options are iOS Phone, iOS Tablet, Android Phone, and Android Tablet. Desktop campaigns don't have this setting.
User attributes
User attributes, also in the Audience step, narrow who sees the banner. With no attributes, the banner can show to every visitor who matches the device and placement rules. With several, a visitor must match every one.
| Attribute | What you set | Example |
|---|---|---|
| Has completed event | An event and a count | Visitors who completed PURCHASE two or more times |
| Browser | includes or excludes, and the browsers | Visitors on any browser except one your site doesn't support |
| Came directly from a url | The URL that referred the visitor, with the same conditions as placement rules | Visitors from search, using whose domain matches and the value google.com |
| Has visited web | A count of days or visits | Visitors who visited on four or more days in the last 30 days |
| Has visited the app | A count | Visitors who opened the app at least twice and are browsing your website |
| Has clicked on email | A count | Visitors who have clicked a Branch Link in an email at least once |
| Has clicked on ad | A count | Visitors who have clicked a Branch Link in an ad at least once |
| Has the app installed | true or false | Visitors who have the app, for an "Open the app" banner |
| Is viewing a page with metadata key | A metadata key, a condition such as whose value matches, and values | Pages that have shoes as their category value |
| Has interacted with banner | A banner campaign, a number of days, and the interaction (Dismissal) | Visitors who dismissed another campaign in the last seven days |
| Is located | includes or excludes, and countries, regions, or cities | Visitors in Canada and the United States |
Has visited web can count days or visits. Counting days looks back over the in last period (30 days by default) and counts each day with at least one visit. Counting visits totals every visit and has no in last period.
For Is viewing a page with metadata key, your developer provides the page metadata through Branch meta tags or the Branch Web SDK. Keys and values must be strings. See Set page metadata for targeting.
Count conditions
Attributes that take a count, such as Has visited the app, use these conditions:
| Condition | Meaning |
|---|---|
| more than or equal to | At least the number you enter |
| less than or equal to | At most the number you enter |
| exactly | Exactly the number you enter |
| between (inclusive) | From the Min to the Max you enter, including both |
| within | Within the number of days you enter |
Formats and templates
Mobile and desktop campaigns offer different formats, and each format has its own Branch templates. You choose them under Format and Options in the Creative step.
| Device | Format | Branch templates |
|---|---|---|
| Mobile | Standard | Default, Minimal, and Enhanced |
| Mobile | Partial Page | Top and Bottom |
| Mobile | Full Page | Overlay and Fill |
| Mobile | Center | Web Link, App Only, Image, and App Rating |
| Mobile | Button | Split Pill, Round, and Pill |
| Desktop | Center | Desktop Overlay Modal |
| Desktop | Corner | Desktop Corner Card and Desktop Corner Card Offset |
| Desktop | Sidebar | Desktop Sidebar Half and Desktop Sidebar Full |
Dismissal
The dismissal settings in the Creative step control what happens when a visitor dismisses a banner. Dismissal Period sets how long the banner stays hidden afterward:
- One Hour
- One Day (24 Hours)
- One Week (7 Days)
- Forever, so the banner never shows to that visitor again
- Custom, a number of hours or days that you set
Dismissal Behavior sets what dismissing does and which banners it hides:
- Close banner closes the banner. Redirect to a new webpage closes it and sends the visitor to the Web URL you enter.
- Dismiss this banner hides only this campaign. Dismiss all banners hides every banner campaign for the dismissal period.
Link data
Link data sets where a banner's call to action (CTA) sends visitors and what data your app receives when it opens. Add it under Link Data Configuration in the Creative step. Without link data, Branch uses your app-level link settings.
| Label | Key | What it does |
|---|---|---|
| Default Deep Link Path | $deeplink_path | The default in-app path for every platform |
| iOS Deep Link Path | $ios_deeplink_path | The in-app path on iOS |
| Android Deep Link Path | $android_deeplink_path | The in-app path on Android |
| iOS Fallback URL | $ios_url | Where to send iOS visitors who don't have the app |
| Android Fallback URL | $android_url | Where to send Android visitors who don't have the app |
| Default Fallback URL | $fallback_url | Where to send any visitor who doesn't have the app |
| CTA Destination Override | $journeys_cta | Sends every visitor to this URL, with or without the app |
| Canonical URL | $canonical_url | The web URL of the content |
You can also add your own keys, such as a coupon code for your app to read.
Caution
The $journeys_cta key overrides deep link paths, fallback URLs, and every other routing setting. Clicks go straight to your URL instead of through a Branch Link, so Branch can't count them or attribute installs, opens, or other events to the banner.
Open the app automatically
Auto-Open the app, in the Creative step, opens your app without the visitor selecting anything. It applies only to visitors Branch believes have the app installed, and it doesn't work in every browser.
Campaign statuses
A campaign's status decides whether it can show to visitors and which actions its menu offers in the Campaign Manager:
| Status | Meaning | Actions |
|---|---|---|
| Draft | Saved but not published | Analysis, Duplicate, Edit, and Archive |
| Scheduled | Published with a future start time | Reschedule, Analysis, Pause, Duplicate, Edit, and Archive |
| Active | Live for visitors who match it | Reschedule, Analysis, Pause, Duplicate, Edit, and Archive |
| Paused | Stopped until you resume it | Analysis, Resume, Duplicate, Edit, and Archive |
| Archived | No longer live | Analysis, Duplicate, and Edit |
Active campaigns with an A/B test also have the A/B Analysis action. To learn what each action does, see Manage and Measure Banners.
How Branch picks a banner
Each time a page loads, Branch finds the active campaigns whose placement and audience rules match the page and the visitor. It skips campaigns that are outside their scheduled days or hours. Priority, dismissals, and app detection then decide which banner the visitor sees and what it says.
- When a visitor matches more than one campaign, Branch shows the one with the highest priority. Priority #1 is the highest. See Set priority.
- A dismissed banner stays hidden for its dismissal period. If the campaign uses Dismiss all banners, the visitor sees no banners until that period ends.
- Branch can't know for certain whether a visitor has your app, because iOS and Android don't share that information. Some visitors can see the wrong CTA text or fall into the wrong Has the app installed group. Right after an install, a visitor can keep seeing Text (no app) until Branch registers the install.
Plan for Safari and search traffic
Two things outside Branch can affect how your banner looks and performs:
- If your main domain uses Universal Links, Safari can show Apple's Smart App Banner along with yours, and visitors might not know which one to select. To avoid this, we recommend a Button banner, such as the Pill template.
- Google can rank a page lower when a full-screen takeover, such as a Full Page banner, covers it for visitors who arrive from search. Keep search visitors out of full-screen campaigns, or show them a smaller banner in a higher-priority campaign. Use Came directly from a url to target them.
