---
title: Preview deployments for retail campaign review
description: Use preview deployments so merchandising, brand, and engineering review a retail campaign on one live URL before launch. Learn about preview comments and deployment protection.
url: "https://vercel.com/kb/guide/preview-deployments-retail-campaign-review"
published: 2026-09-28
last_updated: 2026-09-28
authors: Vercel
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

Vercel Preview Deployments give every push its own URL on the same infrastructure as production. For a retail team, that URL is where merchandising, brand, and engineering agree on a promo page or a product detail page (PDP) change before any shopper sees it.

This guide covers who gets which URL, how reviewers leave and resolve feedback, and which settings keep unreleased pricing out of public view.

## What preview deployments change for a retail campaign review

If your team reviews campaigns on one shared pre-production environment, that works until two changes need review on the same day. While merchandising approves promo copy, brand waits to push a banner revision, and engineering can't validate a PDP layout change on an environment holding a half-finished promotion. A long-lived staging setup still has its uses, but campaign review isn't one of them.

Vercel creates a preview deployment when you push a commit to a branch other than your production branch, open a pull request on GitHub, GitLab, or Bitbucket, or run `vercel` without the `--prod` flag. Each preview is a full deployment with its own URL, so reviewers work through the banner fix and the PDP layout change at the same time. For Git deployments, share the branch URL during review; it follows the latest deployment from that branch. Record the unique deployment URL for sign-off so the approved build is identifiable.

## What you need before your first campaign preview

The loop depends on five requirements, and each is faster to confirm now than to debug during launch week:

- **A Vercel project connected to Git:** Vercel deploys every push to a connected GitHub, GitLab, or Bitbucket repository. The first deployment of a new project is always a production deployment, and preview rules apply from the second deployment on.
  
- **A Vercel account for everyone who will comment:** Vercel turns comments on by default for all preview deployments, on every plan, free of charge, and each commenter signs in with their own account.
  
- **A Deployment Protection decision:** Campaign previews carry unreleased pricing and stock keeping units (SKUs), so choose a Deployment Protection method before you share a URL.
  
- **Incremental Static Regeneration (ISR) on pages that fetch campaign copy:** Draft Mode requires ISR on any page you want to review with unpublished content management system (CMS) content.
  
- **A CMS integration that supports Content Link:** Content Link lets a reviewer jump from an element on the preview into the matching CMS field.
  

If your storefront runs a Next.js frontend alongside a separate API or a containerized service in a Vercel Services project, one preview can include the frontend and backend changes. Separately hosted services need their own preview deployment and routing setup.

## How to share a preview URL with merchandising, brand, and agency reviewers

Once a preview builds, Vercel comments on the pull request with the deployment URL and an **Add your feedback** link that signs the reviewer in and opens the deployment for them. Team members with project access can start commenting there. Reviewers outside the team need either an invite or a Shareable Link.

Inviting reviewers individually is the recommended path for external collaborators:

1. Select **Share** in the Vercel Toolbar menu, or the **Share** button next to the deployment in the dashboard.
   
2. Enter the email addresses of the reviewers you want to invite, and add a message if it helps.
   
3. Confirm which link you're sending. The dashboard modal defaults to the branch link, and the dropdown arrow switches it to the commit link.
   

Inviting a reviewer doesn't add them to your Vercel team, and you can revoke access from the same dialog. Pro and Enterprise teams can invite multiple collaborators, Hobby one at a time. The alternative is a Shareable Link, which reaches a protected deployment through a query string parameter and lets the reviewer comment. Set the **Share** dropdown to **Anyone with the link** and copy the URL from the modal, not the address bar. Every plan includes Shareable Links, with one per Hobby account.

## How to run the comment and approval loop on a preview deployment

Reviewers work on the page itself rather than trading annotated screenshots.

### Leave feedback pinned to the live page

A reviewer presses `c` on the preview to enable the comment placement cursor, then clicks an element or highlights text to open a thread. Comments support Markdown, emoji entered with `:`, and `@` mentions that notify the named team member. Reviewers with the browser extension installed can also click and drag to attach a screenshot of the region they're describing.

Every comment carries the reviewer's session details, so you can chase a layout problem that won't reproduce on your own machine. Select the screen icon beside a commenter's name for their browser, operating system, screen dimensions, device pixel ratio, and the deployment they were viewing. If a reviewer reports that they can't see any comments at all, the Vercel Toolbar isn't active. Clicking it activates the toolbar, and reviewers with the browser extension can set **Always Activate** in **Preferences** to keep it that way.

### Review unpublished campaign content on the same preview URL

Unpublished campaign copy sits in the CMS while the code that renders it sits in the pull request.

Three Vercel Toolbar options close that gap:

- **Draft Mode:** Select **Draft Mode** in the toolbar menu to bypass the ISR cache and fetch the current draft from your CMS at request time. The toolbar turns purple while it's on, and it needs no rebuild.
  
- **Edit Mode and Content Link:** Select **Edit Mode** to highlight each element that maps to a CMS field. Hovering an element shows a link in its top-right corner that opens that field for editing, with no code changes needed on the page.
  
- **Flags Explorer:** Override a promotional feature flag for your own browser session without touching the shared configuration. Vercel doesn't persist those overrides by default, and **Save Recommendations** offers them to any team member who opens that branch.
  

A reviewer outside your Vercel team can't enable Draft Mode or see draft content, even with a draft URL, so unpublished copy needs a reviewer who is on the team or invited to it.

### Sync comment threads to Slack and your issue tracker

Merchandising and brand reviewers rarely open the Vercel dashboard, so route the thread to where they already work. Install the Vercel app for Slack, then send `/vercel subscribe` in the channel that owns the campaign. Every new comment then opens a matching Slack thread, and replies on either side appear on both.

When a comment needs tracking beyond the campaign, select your issue tracker's icon on the thread to open the **Convert to Issue** dialog. Linear, Jira Cloud, and GitHub work once you install the matching integration, and the issue carries the discussion and images with it. Convert only after the discussion wraps up, because Vercel resolves the thread on conversion and won't let anyone reopen it.

### Check unresolved comments before you merge

On any pull request with comments turned on, Vercel adds a check that flags unresolved threads. That check isn't required by default, which keeps a campaign hotfix from stalling. When a promo page needs sign-off before merge, mark the check as required through your Git provider's branch protection rules.

Engineers can also work threads from the terminal with the `vercel comments` command, which lists, inspects, resolves, and reopens threads, and takes `--json` for scripting.

## How to lock down preview deployments and scope their environment variables

If Deployment Protection is disabled, anyone with the link can open a campaign preview, promotional mechanics and unlaunched SKUs included.

### Choose a Deployment Protection method

Each method solves a different reviewer problem, so pick based on who needs access:

| Protection method     | Who it stops                                       | Plans                                                                  | Trade-off for campaign review                                                                          |
| --------------------- | -------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Vercel Authentication | Anyone without access to the Vercel project        | All plans                                                              | External reviewers need an invite or a Shareable Link                                                  |
| Password Protection   | Anyone without the password                        | Pro at $20 per project per month, included on Enterprise, not on Hobby | You have to get the password to outside reviewers securely                                             |
| Trusted IPs           | Anyone outside the listed IPv4 addresses or ranges | Enterprise                                                             | Reviewers must be on an approved network, and Vercel Authentication has to run alongside it in preview |

For automated traffic, Trusted Sources admits your continuous integration (CI) pipeline against a short-lived OpenID Connect (OIDC) token rather than a static secret.

### Scope environment variables to the campaign branch

Protection controls who reaches the preview. Environment variables control which services that preview can call.

Apply three rules to the campaign branch:

- **Set safe Preview defaults:** Use test credentials for the entire Preview environment. Add branch-specific overrides only when a campaign needs a different test account. Branch-specific values take precedence over Preview values with the same name.
  
- **Mark credentials as Secret:** Choose the Secret type for passwords, API keys, and tokens. The value stays available to your deployments, members can't retrieve it after saving, and Vercel replaces values of 32 characters or longer with `[REDACTED]` in build logs. Team owners can also enable **Separate Production Secret Values**, which requires a Secret's Production value to differ from the values used for that key in Preview and every other environment.
  
- **Read** `VERCEL_TARGET_ENV` **for the environment name:** `VERCEL_ENV` only ever returns `production`, `preview`, or `development`, so a custom staging environment reports `preview` and your code can't tell it apart from a pull request preview. Gate behavior on `VERCEL_TARGET_ENV`, which returns the environment's own name.
  

Variable changes apply to new deployments only, so redeploy the branch after editing them. Promoting a preview to production runs a complete rebuild with production variables, so the promoted deployment uses your production key.

## What breaks a campaign preview review, and how to fix it

Four causes account for most stalled campaign reviews.

### A fork pull request never produces a preview

Vercel requires authorization from you or a team member before deploying a pull request from a fork, which keeps your environment variables and OIDC token away from an untrusted branch. Review the fork’s code and authorize the specific deployment after checking what credentials and backend access it will receive.

### An external reviewer can view the page but can't comment

A Shareable Link gets a reviewer onto the page without signing in, but they have to sign in to comment. Reviewers read that prompt as a paywall and drop the review, so tell them to create the free account before the link goes out.

### A live payment credential is still set on the campaign branch

Set `PAYMENT_API_KEY` to a test credential for the entire Preview environment. Use branch-specific overrides only when a campaign needs a different test account. Verify the payment provider is in test mode before running checkout.

### A production hotfix is queued behind preview builds

Queued builds run in the order they arrive, so a last-minute campaign fix can wait behind previews. Vercel runs on-demand concurrent builds at full concurrency by default, so queueing mostly hits Hobby projects and teams that turned concurrency off. Open **Settings**, go to **Build and Deployment**, and toggle **Prioritize Production Builds** to **Enabled** so production skips the preview queue.

## How to verify the preview deployment loop before a campaign launch

Run this the week before Black Friday Cyber Monday (BFCM) rather than during launch week, so there's time to fix whatever fails.

Work through these six checks on a test branch:

1. Push a commit and confirm the preview URL appears on the pull request.
   
2. Ask an invited reviewer to sign in, open the protected preview, and leave a comment. In a separate signed-out browser, confirm the ordinary preview URL requires authorization. If using Shareable Links, test that flow separately.
   
3. Resolve that comment and confirm the pull request check reports no unresolved threads.
   
4. Reply to the thread in Slack and confirm the reply appears on the preview.
   
5. Run `vercel deploy --dry` from the Vercel CLI, which has supported the flag since v54.17.2, to check the detected framework preset, included files, and ignored paths.
   
6. Promote a preview to production in a test project and confirm `VERCEL_TARGET_ENV` resolves to `production`.
   

Each check exercises one setting, so a failure tells you which setting to change.

## Next steps

Once the loop works on one campaign, the same project settings cover the rest of the season.

Start a new project and connect your campaign repository. Vercel for retail covers the storefront and personalization work that sits alongside this.

## Related resources

- [Preview environments](https://vercel.com/docs/deployments/environments)
  
- [Comments overview](https://vercel.com/docs/comments)
  
- [Sharing previews](https://vercel.com/docs/deployments/sharing-deployments)
  
- [Deployment Protection](https://vercel.com/docs/deployment-protection)
  
- [Full-stack previews](https://vercel.com/kb/guide/full-stack-preview-deployments-on-vercel)
  
- [Black Friday preparation](https://vercel.com/kb/guide/black-friday-preparation)