Skip to content
Last updated

Landing Page Specifications and Troubleshooting

Private Beta

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

Landing Page Delivery in Treasure AI Engage Studio publishes static website packages on Active custom subdomains. This reference gives marketers, web operations teams, and administrators the exact package limits, URL rules, permissions, related workflow boundaries, and recovery paths needed to publish reliably. Use it before packaging content or when a domain, upload, or lifecycle action cannot proceed.

Static Package Specifications

Landing Page Delivery validates the unarchived files declared in a static ZIP package. Keep each package within every listed limit before uploading it.

Specification Value
Files in one package1,000 maximum
Size of one file20 MB maximum
Total unarchived package size100 MB maximum
Relative file path length512 bytes maximum
Custom subdomains100 maximum per Treasure AI account
Package pathsClean relative paths only. Paths cannot use traversal segments, backslashes, or control characters.

The package can contain only the extensions listed below.

Category Allowed extensions
HTML and data.html, .json, .txt, .xml, .webmanifest
Styles and scripts.css, .js
Images.png, .jpg, .jpeg, .gif, .svg, .webp, .ico
Fonts.woff, .woff2, .ttf, .otf

Local Asset Paths

Landing Page packages must use relative paths for local CSS, JavaScript, image, and font files. A path beginning with / is root-absolute: it resolves at the custom domain root rather than relative to the Landing Page slug. It can load a file from the root Landing Page or fail to load the intended file. External URLs beginning with https:// are allowed.

<!-- Use relative paths for files in the ZIP package. -->
<link rel="stylesheet" href="assets/app.css">
<script src="scripts/app.js"></script>
<img src="images/logo.png" alt="Logo">

<!-- Do not use root-absolute paths for files in the ZIP package. -->
<link rel="stylesheet" href="/assets/app.css">
<script src="/scripts/app.js"></script>
<img src="/images/logo.png" alt="Logo">

<!-- External URLs are allowed. -->
<link rel="stylesheet" href="https://cdn.example.com/app.css">

<!-- Loads styles.css from the landing page published at the domain root. -->
<link rel="stylesheet" href="/styles.css">

<!-- Loads styles.css from this landing page. -->
<link rel="stylesheet" href="styles.css">
Published content is public

Anything in a published package can be delivered to public visitors at the landing page URL. Do not include credentials, API keys, tokens, private customer data, or other secrets in the package.

URL and Lifecycle Rules

Landing Page URLs combine an Active custom subdomain with an optional slug. A blank slug serves the root URL, such as https://promo.example.com/.

Rule Behavior
Slug charactersUse lowercase letters, digits, and hyphens. Separate multiple path segments with /.
Slug length255 characters maximum. A slug cannot begin or end with /.
Duplicate URLsEach slug must be unique across every landing page that uses the same custom subdomain, including pages in different workspaces when the subdomain is shared. A blank slug reserves the domain root.
Publish prerequisitesThe selected custom subdomain must be Active, and the package upload must be complete.
After first publicationThe custom subdomain cannot change after the first publication. The slug is locked while the page is Published; unpublish the page to return it to Draft and edit the slug before publishing it again.
Publish and unpublish propagationChanges can take about one minute, and occasionally longer, to reach the edge. A public URL may continue to serve the previous state immediately after either action.
Delete a landing pageA landing page must be Draft. Unpublish a Published page first.

Landing Page Delivery serves static assets only. It does not evaluate Liquid variables or provide server-side dynamic personalization, consent logging, native conversion tracking, scheduled publishing, or a default Treasure AI domain. Landing Page Delivery does not currently include a no-code page builder or native form processing.

Permissions

Landing pages do not have a dedicated permission entry. Their effective access is derived from Campaign permissions in Workspace Feature Permissions. Web domain operations use the EngageDomain permission in Domain Permissions and are account-scoped.

Permission Landing page access
Campaign ViewView landing pages and upload attempts in the permitted workspace.
Campaign EditCreate and update landing page drafts, upload packages, and delete Draft pages. This permission does not publish or unpublish pages.
Campaign LaunchPublish and unpublish landing pages in addition to the access granted by Campaign Edit.
Engage Domain viewView web domains and their statuses when the domain is available to the permitted workspace.
Engage Domain editRegister, update, delete, and restart deployment for web domains.

Landing Page Delivery hosts static website content. Use the related products and implementation paths below when your campaign requires behavior outside static content delivery.

Handle Form Submissions

Landing Page Delivery does not currently include native form processing. Use a third-party form service or custom JavaScript and HTML to handle form submissions. Do not treat a published landing page as a Treasure AI form-processing endpoint.

Track Visitor Behavior

Use the Web SDK in the static package to track visitor behavior.

Personalize Landing Page Content

Landing Page Delivery hosts static content and does not evaluate Liquid variables or provide server-side dynamic personalization. Use Personalization Studio or Engage Studio In-Browser Messaging when an experience requires personalization.

Host a One-Click Unsubscribe Confirmation Page

Landing Pages can host the static HTTPS confirmation page used for One-Click Unsubscribe. Landing Page Delivery does not process unsubscribe requests; before submitting the required POST request, the page must validate that postTo is an HTTPS URL with the /unsubscribe path on one of these exact endpoints: https://engage-subscription.us01.treasuredata.com/unsubscribe, https://engage-subscription.eu01.treasuredata.com/unsubscribe, https://engage-subscription.treasuredata.co.jp/unsubscribe, or https://engage-subscription.ap02.treasuredata.com/unsubscribe. Reject any other origin, path, protocol, credentials, or fragment rather than posting to an arbitrary URL from a query parameter. For the required page behavior and Sender Profile configuration, see One-Click Unsubscribe Management.

Distinguish Landing Pages from HTML Email Hosting

HTML Email Hosting publishes a static, non-personalized View in Browser copy of an email campaign under a verified Email Domain. Use Landing Pages for a separately prepared static website package on an Active custom Web Domain.

Troubleshooting

Landing Page Delivery uses domain activation, package completion, and page status to prevent an incomplete site from becoming public. Use the matching recovery path below.

A Custom Subdomain Remains Pending

A Pending custom subdomain is waiting for ownership verification or certificate provisioning. Compare the public TXT and CNAME records with the generated values in Engage Studio, correct any differences at the DNS provider, and wait for automatic verification. Do not publish the landing page until the domain becomes Active.

A Custom Subdomain Is Suspended

A Suspended custom subdomain did not complete verification or certificate provisioning before the deployment deadline. Confirm that the TXT and CNAME records are public and correct, then restart deployment from the web domain settings. Wait for the status to become Active before publishing a page.

The Landing Page Cannot Be Published

Landing Page Delivery cannot publish a page until its custom subdomain is Active and its package upload is complete. Open the page draft, complete or re-upload the static package if needed, and select an Active domain before publishing.

The Landing Page Cannot Be Deleted

A Published landing page cannot be deleted. Unpublish the page first, confirm that its status returns to Draft, and then delete it.

Styles, Scripts, or Images Load from the Wrong Page

If a landing page displays another page's styles, scripts, or images, inspect the local asset references in the HTML and CSS. Replace each root-absolute path that begins with / with a relative path, then upload the package and publish the landing page again. Root-absolute paths resolve at the custom domain root and can load files from the Landing Page published at that root.

The Custom Subdomain Cannot Be Deleted

A custom subdomain cannot be deleted while any workspace assignment or landing page references it. Remove every page reference and workspace assignment, then delete the domain.

Landing Pages Does Not Appear in Engage Studio

Landing Page Delivery is generally available. If the Landing Pages area does not appear for your account, confirm that you are signed in to the intended account and workspace, then follow your organization’s established support or administrator process.

Frequently Asked Questions

Do Landing Pages include a visual editor?

No. Create the static website package outside Engage Studio, then upload the finished package. See Prepare a Static Website Package.

Can Landing Pages process a form submission?

Landing Page Delivery does not include native form processing. See Handle Form Submissions for supported alternatives.

How do I track visitor behavior on a landing page?

Use the Web SDK in the static package. See Track Visitor Behavior for details.

How do I personalize a landing page?

Landing Page Delivery hosts static content. See Personalize Landing Page Content for supported alternatives.

How do I change a published landing page?

Upload a revised static ZIP package to the landing page and publish it again. For the procedure, see Update a Published Landing Page.

Can I publish to a Treasure AI default domain?

No. Landing Page Delivery requires an Active custom subdomain. See URL and Lifecycle Rules for the publication requirements.