# Create and Publish Landing Pages

Private Beta
Landing Page Delivery is currently available as a private beta. Contact your Treasure AI account representative for access.

Creating a landing page in Engage Studio turns a prepared static website package into a branded public URL. The workflow keeps content changes in a draft until you publish them, so you can review the package and its destination before visitors see it. Use this task after a web administrator has activated the custom subdomain and a page author has prepared the static package.

## Prerequisites

Before creating a landing page, confirm that you have:

- An **Active** custom subdomain that is available to the target workspace. See [Configure Custom Subdomains](/products/marketing-cloud/engage-studio/landing-pages/custom-subdomains).
- A completed static ZIP package that meets the [Landing Page specifications](/products/marketing-cloud/engage-studio/landing-pages/specifications-and-troubleshooting#static-package-specifications). See [Prepare a Static Website Package](/products/marketing-cloud/engage-studio/landing-pages/prepare-a-static-website-package).
- The required Campaign permissions in **Workspace Feature Permissions**. Campaign **Edit** lets you create and update drafts and upload packages. Campaign **Launch** is required to publish or unpublish pages. Web-domain access is controlled separately by **EngageDomain** under **Domain Permissions**. See [Landing Page permissions](/products/marketing-cloud/engage-studio/landing-pages/specifications-and-troubleshooting#permissions).


## Create a Draft and Configure Its Destination

A landing page draft stores the page name, optional description, web domain, URL slug, and completed static package until you publish it.

1. In Engage Studio, create a landing page and enter a recognizable name. The page starts in **Draft** status.


![Create Landing Page dialog in Engage Studio](/assets/landing-page-creation-dialog.84c1e92d2d211f910e9501c007eb3248d006d316ce24f03072ad9b9ea4f2a190.cb1c5957.webp)

1. Select an **Active** custom subdomain. A Pending or Suspended domain cannot be used to publish the page.
2. Enter an optional URL slug. For example, the `summer-sale` slug on `promo.example.com` creates `https://promo.example.com/summer-sale`.


![Landing Page Editor details showing an active domain message and URL slug field](/assets/landing-page-editor-details.ac4938931ffb7142320d509cf1874c042f752c08efd446fce850c53a3ec1a744.cb1c5957.webp)

Published URL settings cannot change
A landing page’s slug is locked while the page is **Published**. If you unpublish the page, it returns to **Draft** and you can edit the slug before publishing it again. Its custom subdomain cannot be changed after the page has first been published. Review both values before publishing.

## Upload and Validate Content

Upload the completed static ZIP package to the draft before publishing it.

1. Upload the static ZIP package. Your browser extracts the archive and uploads the allowlisted files.


![Landing Page Content step with static ZIP package upload controls](/assets/landing-page-zip-upload.4453d1fb24e54ab4d97af869e53d334f4f9d9bceb4c9597ef5485d1b5ce82b4d.cb1c5957.webp)

1. Wait until the upload completes and the uploaded file list is verified without an error. The completed package is ready to publish.
2. Review the draft content and its public URL before publishing.


## Check Before Publishing

Before you publish the landing page, confirm that the selected custom subdomain is **Active**, the static package upload completed successfully, and the draft uses the intended custom subdomain and URL slug. After the first publication, the custom subdomain cannot change. The URL slug is locked while the page is **Published**, but you can edit it after you unpublish the page.

![Landing Page Content step showing uploaded static files and index.html marked as the home page](/assets/landing-page-content-files.688bbb4b6e4d6773dde31090001a0425d0cc08345d1774777baeb2fe09feb05d.cb1c5957.webp)

## Publish and Verify a Landing Page

Publishing copies the completed static package to the page’s public HTTPS URL.

1. In the landing page draft, publish the page. The page status changes from **Draft** to **Published**.
2. Open the public URL in a browser without an Engage Studio session. Confirm that the page, styles, scripts, and images load over HTTPS.


Propagation delay
Publish and unpublish changes can take about one minute, and occasionally longer, to reach the edge. If you reload the public URL immediately after either action, it may still show the previous state.

## Update a Published Landing Page

Updating a published landing page lets you replace its static content while keeping the same URL.

1. Upload a revised static ZIP package to the published landing page. The page remains **Published** after the upload; after upload verification completes, the revised package is ready for the next publication.
2. Publish the landing page again.
3. After allowing time for the change to propagate to the edge, reload the public URL and confirm that the revised content is available.


## Unpublish and Delete a Landing Page

Unpublishing stops public delivery but keeps the landing page available as a draft. Delete a page only after it is no longer published.

1. In the published landing page, unpublish the page. The status returns to **Draft**.
2. After allowing time for the change to propagate to the edge, reload the former public URL and confirm that it returns `404 Not Found`.
3. Delete the draft landing page when it is no longer needed. The page is removed from the landing page list.


## Related Documentation

- [Prepare a Static Website Package](/products/marketing-cloud/engage-studio/landing-pages/prepare-a-static-website-package)
- [Configure Custom Subdomains](/products/marketing-cloud/engage-studio/landing-pages/custom-subdomains)
- [Landing Page Specifications and Troubleshooting](/products/marketing-cloud/engage-studio/landing-pages/specifications-and-troubleshooting)