Customization
Branding
Site name, logo, colors, SEO. Config files and overrides.
Last updated Mar 19, 2026
Customize your ZShip site's brand without code changes where possible.
Config file (no rebuild for backend vars)
| Feature | Config File | Fields |
|---|---|---|
| Astro brand identity | apps/web/zship.app.json |
appKey, domain, siteUrl, siteName, tagline, description, brand.*, links.*, dashboard.url |
| Nuxt brand identity | apps/web-nuxt/zship.app.json |
appKey, domain, siteUrl, siteName, brand.*, links.*, contactEmail |
| Nuxt header / footer | apps/web-nuxt/zship.app.json |
header.*, footer.*, dashboard.features.* |
| Dashboard brand | packages/dashboard/config/brand.ts |
BRAND_NAME, STORAGE_PREFIX |
| Analytics | apps/web/zship.app.json / apps/web-nuxt/zship.app.json |
analytics.googleAnalytics.measurementId, analytics.plausible.*, Nuxt also supports analytics.clarity.projectId |
Analytics (Google Analytics 4 & Plausible)
Public pages that use the shared Base layout load scripts from apps/web/src/components/AnalyticsHead.astro. Nothing is injected unless you set valid values in apps/web/zship.app.json under analytics.
Google Analytics 4
- Set
analytics.googleAnalytics.measurementIdto your GA4 Measurement ID (formatG-followed by alphanumeric characters). - Leave it empty or omit
googleAnalyticsto disable gtag.js.
Plausible
- Set
analytics.plausible.domainto the same domain you registered in Plausible (e.g.yoursite.com). - Default script URL is
https://plausible.io/js/script.js. - Self-hosted Plausible: set
scriptSrcto your instance’s script URL (e.g.https://plausible.example.com/js/script.js). - Reverse proxy: set
apiEndpointto your proxied event endpoint; it is emitted as thedata-apiattribute on the script tag.
You can enable GA4, Plausible, both, or neither. Rebuild the web app after changing zship.app.json.
How to rebrand
- Edit
apps/web/zship.app.json— changeappKey,domain,siteName,brand.*,links.*, andanalytics.* - Edit
packages/dashboard/config/brand.ts— changeBRAND_NAME(dashboard sidebar) - Replace
/public/logo.svgand/public/favicon.icowith your assets - For Nuxt apps, edit
apps/web-nuxt/zship.app.json; keepapps/web-nuxt/app/config/site.tsas the manifest adapter
Component overrides
Place files in apps/web/src/overrides/ to override shared components without modifying packages. The zship-resolver plugin auto-resolves overrides.
See apps/web/src/overrides/README.md for details.
