Skip to content

Branding

Customize your ZShip site’s brand without code changes where possible.

FeatureConfig FileFields
Astro brand identityapps/web-astro/zship.app.jsonappKey, domain, siteUrl, siteName, tagline, description, brand.*, links.*, dashboard.url
Nuxt brand identityapps/web-nuxt/zship.app.jsonappKey, domain, siteUrl, siteName, brand.*, links.*, contactEmail
Nuxt header / footerapps/web-nuxt/zship.app.jsonheader.*, footer.*, dashboard.features.*
Dashboard brandpackages/dashboard/config/brand.tsBRAND_NAME, STORAGE_PREFIX
Analyticsapps/web-astro/zship.app.json / apps/web-nuxt/zship.app.jsonanalytics.googleAnalytics.measurementId, analytics.plausible.*, Nuxt also supports analytics.clarity.projectId

Analytics (Google Analytics 4 & Plausible)

Section titled “Analytics (Google Analytics 4 & Plausible)”

Public pages that use the shared Base layout load scripts from apps/web-astro/src/components/AnalyticsHead.astro. Nothing is injected unless you set valid values in apps/web-astro/zship.app.json under analytics.

  • Set analytics.googleAnalytics.measurementId to your GA4 Measurement ID (format G- followed by alphanumeric characters).
  • Leave it empty or omit googleAnalytics to disable gtag.js.
  • Set analytics.plausible.domain to 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 scriptSrc to your instance’s script URL (e.g. https://plausible.example.com/js/script.js).
  • Reverse proxy: set apiEndpoint to your proxied event endpoint; it is emitted as the data-api attribute on the script tag.

You can enable GA4, Plausible, both, or neither. Rebuild the web app after changing zship.app.json.

  1. Edit apps/web-astro/zship.app.json — change appKey, domain, siteName, brand.*, links.*, and analytics.*
  2. Edit packages/dashboard/config/brand.ts — change BRAND_NAME (dashboard sidebar)
  3. Replace /public/logo.svg and /public/favicon.ico with your assets
  4. For Nuxt apps, edit apps/web-nuxt/zship.app.json; keep apps/web-nuxt/app/config/site.ts as the manifest adapter

Place files in apps/web-astro/src/overrides/ to override shared components without modifying packages. The zship-resolver plugin auto-resolves overrides.

See apps/web-astro/src/overrides/README.md for details.