Guides

Marketing Website vs Product App: Why the Two Should Not Share a Codebase (2026)

Why a SaaS marketing website and the product app belong in separate codebases, what 30 SaaS companies do, and how to wire the seams: domains, cookies, analytics and robots.

Summarize with AI
Octo Agency cover: Marketing Website vs Product App, with a purple hexagon pattern

We checked the homepages of 30 well-known SaaS companies on 29 October 2026. Of the 25 where the login link could be read, 15 send users to a separate host such as app., dashboard. or login., and at least 3 of the other 10 serve the login page from a visibly different stack than the homepage (Octo Agency check). The pattern is consistent: the marketing website and the product live apart, even when they share a domain.

This guide sets out why separation is the right default and how to wire the seams so visitors never notice. Sources are MDN, Google, the Next.js and Webflow docs, OWASP, HTTP Archive and two vendor surveys, read on 29 October 2026.

What a marketing website and a product have in common, and what they do not

They share a brand, a domain and often a header. A marketing website is a publishing system; a product is software that holds customer data. One repository means one release process and one security boundary for two very different jobs.

How a marketing website and a SaaS product differ in practice
DimensionMarketing websiteProduct app
Main editorMarketing team, dailyEngineers, through pull requests
Release rhythmMany small publishes a week, no review gatePlanned releases with tests and code review
ContentPages, CMS items, campaign variantsScreens driven by account data
Third-party scriptsAnalytics, tags, chat, consentAs few as possible
Search enginesEvery public page should be indexedNothing behind login should be indexed
Cost of a bad changeA broken pageLost data or a breach
Right tool, in our viewA visual CMS such as WebflowA framework such as Next.js

Source: Octo Agency, compiled from the sources below; ownership data from Webflow 2026 State of the Website

We build marketing sites in Webflow and applications in Next.js, so we have a stake in this split. The argument below holds for any pair of tools, including two Next.js projects in separate repositories.

Reason one: the teams and their release cycles do not match

Webflow's 2026 State of the Website survey found 97% of marketing leaders and 94% of technical leaders saying their own team owns website strategy. It is a vendor survey, from a company that sells a visual site builder, but the tension it describes is familiar. When the marketing site lives inside the product repository, engineering owns it by default, because every change goes through engineering's process.

That process is correct for the product, but applied to a headline change it turns a ten-minute job into a ticket. ButterCMS surveyed more than 600 marketing and growth professionals in 2025 and found 81% rely on developers for basic updates, with 45% saying changes take multiple days. ButterCMS sells a headless CMS, so read these as vendor figures.

Separate codebases let marketing publish without a deploy and engineering ship without campaign pages in the build. Our guide to a website the marketing team can actually edit covers the CMS rules that keep the marketing side self-serve after launch.

Reason two: marketing scripts do not belong next to customer data

Marketing pages collect third-party code. The HTTP Archive Web Almanac 2024 found about 92% of pages use at least one third party, with a median of 27 third parties on the top million sites and 66 on the top thousand. Consent tools, video players and customer-success widgets led the categories it could identify.

OWASP's cheat sheet on third-party JavaScript explains that a tag runs with the page's privileges and can read the DOM, including form inputs, and that a tag manager can run custom code edited outside any release process. It calls the compromise of a third party's server the single greatest risk.

On a marketing page the worst case is a leaked demo-form email. In an application, the same script could read anything the logged-in user can see.

Origins do the isolation for you. MDN's same-origin policy guide defines an origin as scheme, host and port, and shows that a different subdomain is a different origin. Web Storage and IndexedDB are separated by origin, so a script on www.example.com cannot read what app.example.com stores in the browser. Put the app on its own host and that boundary exists without anyone configuring it.

What 30 SaaS companies actually do

We fetched 30 SaaS homepages on 29 October 2026, read the platform from HTML markers and followed the navigation's login link. Five could not be read: two blocked automated requests and three had no login link in the HTML.

Where 30 SaaS companies put login, relative to the marketing website
PatternCountExamples
App on its own subdomain15Stripe (dashboard.), Asana, HubSpot, Ramp, Notion (app.)
Login on the marketing host, different stack from the homepage3Linear, Figma, Airtable
Login on the marketing host, same visible stack or unclear7Vercel, Zendesk, Calendly, Webflow, Lattice, Dropbox, Slack
Not readable5Canva, Gusto, Miro, Loom, DocuSign

Source: Octo Agency check of 30 SaaS homepages, 29 October 2026

Two cautions. A login page on the marketing host does not mean one codebase, because a proxy can route /login to a separate application. And of the 30 homepages, 19 carried Next.js markers and 3 carried Webflow markers (Monday.com, Lattice and Webflow itself), but the stack says nothing about whether repositories are shared. Our B2B SaaS CMS statistics cover platform share across a larger set.

Subdomain or subpath: how to choose

App on a subdomain. The marketing website runs at the root domain, the product at app.example.com, each with its own hosting and security headers. It is the most common pattern in our check.

App under a path, routed by a proxy. The visitor sees example.com/app, but a proxy or rewrite sends that path to a separate application. The Next.js multi-zones guide describes this: separate applications on one domain, each deployed independently, at the cost of a full page reload when moving between zones. Webflow Cloud does a version of it, hosting Next.js, Astro or Vite apps under a path of a Webflow site. Our upcoming guide, When a Marketing Site Genuinely Needs Next.js, covers its limits.

Search does not decide it. John Mueller of Google said in 2018 that Google sees subdomains and subdirectories much the same, while personally preferring to keep related content together, as Search Engine Journal reported. A product behind login should not rank anyway, so a subdomain costs the marketing site nothing.

The seams: what to wire so visitors never notice

The five seams between a marketing website and a product, and how to handle each
SeamWhat goes wrongHow to handle it
Login stateLogged-in users still see "Sign up"A non-sensitive hint cookie with Domain=example.com
AnalyticsApp-to-site visits show as self-referralsOne GA4 property, one cookie domain, referral exclusions
Search indexingApp or staging pages appear in searchRobots.txt and noindex on each non-marketing host
DesignButtons and type drift apartOne set of design tokens exported to both
NavigationCross-links break after a slug changeAbsolute links kept in one shared list

Source: MDN cookies guide; Google Analytics Help, cross-domain measurement; Google Search Central, robots.txt introduction; Next.js multi-zones guide

Login state. MDN's cookie guide explains that a cookie set with Domain=example.com is available on that domain and its subdomains, while a cookie set without Domain stays on the host that set it. So keep the session cookie host-only on the app, and share a separate flag with no secrets that only says "this browser has an account".

Analytics. Google's help page on cross-domain measurement recommends the setup for subdomains: tag every page, make sure subdomains share the same cookie domain, and add them to the referral exclusion list. Our post on Webflow for B2B SaaS covers where a Webflow site stops and the app takes over.

Search indexing. Google Search Central states that a robots.txt file applies only to the host, protocol and port where it is served, and that a robots.txt on one subdomain is not valid for another. Give the app host its own file and noindex anything that renders without a login.

Design. Keep one source for colours, type and spacing and export it to both sides. A component library shared between marketing and product is a real reason to keep the marketing website in code; we list it among the five cases in Webflow or Next.js for a marketing site.

When one codebase is the right answer

The marketing pages read the logged-in account. If every page renders the visitor's plan or usage on the server, the two are one surface.

Engineering is the only editor. If no marketer will open an editor, a visual CMS loses its main advantage.

The company is a handful of people before launch. A landing page inside the app repository is fine for a waitlist. We would plan the split before the first marketing hire starts.

Outside those cases, a shared codebase usually exists because nobody decided otherwise.

What this means for your marketing website

Treat the marketing website and the product as two systems with two owners, joined on purpose. Put the app on its own subdomain unless there is a strong reason for a path, and wire the five seams in the first week of the build, not after launch. In our four-week marketing-site process this is a Week 1 decision, because the domain plan affects the tracking map and the page templates. Our marketing websites service page explains how we scope a marketing site that sits alongside an existing product.

Frequently asked questions

What is the difference between a marketing website and a SaaS product?

A marketing website is a publishing system that sells the product: pages, a blog, case studies and forms, edited by marketing and fully indexed. The SaaS product is the application customers log into, holding their data and changed by engineers through a release process. In our check of 30 SaaS homepages on 29 October 2026, 15 ran the app on a separate subdomain.

Should the marketing site and the app share a codebase?

Usually not. Shared code puts marketing changes behind engineering's release process, and ButterCMS's 2025 survey of 600+ professionals found 81% of marketers already rely on developers for basic updates. It also puts marketing's third-party scripts in the same origin as customer data. One codebase makes sense when every marketing page reads the logged-in account, or when engineers are the only people who edit the site.

Is a subdomain or a subfolder better for a SaaS app?

For the app itself, a subdomain is usually simpler: its own hosting, its own security headers and a separate browser origin. Google's John Mueller said in 2018 that Google sees subdomains and subdirectories much the same. Since pages behind a login should not be indexed anyway, the choice does not affect the marketing site's rankings. A subpath routed by a proxy works too, but cross-zone navigation reloads the page.

How does the marketing site know a visitor is logged in?

Use a separate hint cookie. MDN explains that a cookie set with Domain=example.com is available on that domain and all its subdomains. The app sets a small flag cookie with no secrets in it, readable across the domain, while the real session cookie stays host-only on the app. The marketing site reads the flag and swaps "Start free trial" for "Go to dashboard" without ever handling the session.

Do I need cross-domain tracking between the app and the marketing site?

If they sit on subdomains of one domain, set it up anyway. Google's Analytics Help recommends it for subdomains: tag every page, use the same cookie domain on both, and list the subdomains as unwanted referrals. Without that, visitors moving from the app back to the marketing website can appear as self-referrals, and campaign attribution for trial and upgrade conversions breaks.

Sources

  1. Set up cross-domain measurement Google Analytics Help, 2026
  2. Introduction to robots.txt Google Search Central, 2026
  3. Using HTTP cookies MDN Web Docs, 2026
  4. Same-origin policy MDN Web Docs, 2026
  5. How to build micro-frontends using multi-zones and Next.js Next.js documentation, Vercel, 2026
  6. Webflow Cloud Webflow Developer Documentation, 2026
  7. Third Party JavaScript Management Cheat Sheet OWASP, 2026
  8. Third Parties, Web Almanac 2024 HTTP Archive, 2024
  9. The 2026 State of the Website: The collaboration crisis Webflow with Vanson Bourne, 2026
  10. Built for Growth: the state of website agility for marketers, key findings ButterCMS, 2025
  11. Google treats subdomains and subdirectories the same, John Mueller says Search Engine Journal, 2018

Tags

  • Marketing Websites
  • Architecture
  • SaaS
  • Webflow
Mihajlo Stojanovic

Mihajlo Stojanovic

Co-founder, Octo Agency

Mihajlo runs the technical side of Octo Agency: Webflow builds, custom backends and the systems that keep a site editable after launch. He has shipped more than twenty Webflow sites a year as a white-label partner and writes about what survives contact with a real marketing team.

Veljko Nikolic

Reviewed by

Veljko Nikolic

Founder, Octo Agency

Veljko runs the build side of Octo Agency. He has shipped marketing sites for B2B teams in legal tech, health and manufacturing, and writes about what survives contact with a real review cycle.