Docs
Firmly Agentic Commerce
Set theme to dark (⇧+D)

Partner Onboarding

The one-time setup that must be complete before any product can be published on Branded Commerce. This is the partner-and-Firmly checklist for the first day of an engagement.

​​ Onboarding steps

Step What happens Owner Output
Domain setup Partner adds two DNS CNAME records — production hostname and staging hostname — to the CNAME targets Firmly provides. Each must be DNS-only (grey-cloud) if the partner’s DNS is on Cloudflare. Firmly enrolls each hostname in its matching Cloudflare zone and provisions TLS via Cloudflare for SaaS Partner (DNS) / Firmly (TLS) Both partner domains resolve with active TLS
Branding Partner provides brand assets and copy preferences (see Branding intake below). Firmly applies theming to all page templates Partner (assets) / Firmly (theming) Partner theme configured and ready to render every page
Language and locale Partner specifies market(s) and language(s) the pages render in (see Language and locale below) Partner (requirements) / Firmly (config) Locale configuration set
Ad-platform pixel setup Partner provides per-platform credentials for every ad platform they run campaigns on. What the partner provides determines the channel mix per platform — see Ad-platform credentials below Partner (credentials) / Firmly (config) Per-platform conversion-signal configuration
Affiliate mode Partner and Firmly agree on BYO (partner’s own affiliate network credentials) or Firmly-managed attribution Both Affiliate attribution mode configured
Merchant list Partner and Firmly align on which merchants to support. Firmly checks onboarding status — onboards new merchants as needed Both Approved merchant list with onboarding status
Testing End-to-end flow validation on the staging domain — at least one full order placed Both Staging environment verified
Performance tracking Agree on tracking requirements — see the Operations overview Both Tracking configuration documented

​​ Domain setup detail

Two CNAME records, one per environment:

Environment Partner hostname CNAME points to
Production deals.partner.example (or any partner subdomain) firmly.live
UAT / staging deals-staging.partner.example firmlyuat.com

Both are independent enrollments — there is no “promote staging to production” path; they coexist permanently. Staging stays in place after launch for ongoing pre-production testing of new campaigns and theme changes.

If the partner’s DNS lives on Cloudflare, both CNAMEs must be set to DNS-only (grey-cloud icon). Cloudflare-on-Cloudflare orange-cloud routing breaks TLS provisioning.

​​ Branding intake

The partner provides brand assets, copy preferences, and legal text. Firmly builds a theme and applies it to every page template (Landing page, PDP, Checkout, Thank-you).

​​ What the partner provides

Category What’s needed Example
Brand assets Logo files (light + dark, SVG preferred), favicon (32×32), hero imagery for landing pages Partner primary logo + dark variant
Typography Primary font family, weight scale, licensing terms, optional display font Inter 400/600/700, Google Fonts–hosted
Palette Primary, secondary/accent, text, background/surface, border, state colors Primary #6a1b9a, background #fafafa
Button treatment Corner radius, fill style, hover state, CTA label case 6 px radius, solid fill, uppercase labels
Chrome Header logo placement, header density, back-arrow style, footer links Logo left, compact header, chevron back arrow
Copy preferences Brand voice, promo language template, CTA verb, savings callout phrasing, merchant identity line “BUY NOW”, “You saved {amount} with {partner}!”
Legal copy T&C URL, privacy policy URL, per-surface disclaimers, jurisdiction/market US market, T&C at partner.example/terms
Merchant identity Prominent vs subtle display per merchant; show merchant domain or not “Shopping with [Merchant]” in header vs footer-only

​​ How the handoff works

# Step Owner
1 Intake — Firmly sends the branding questionnaire to the partner’s design/brand contact Firmly
2 Partner completes — provides assets, answers copy/layout questions, supplies legal URLs Partner
3 Theme build — Firmly builds the theme object and applies it to all page templates Firmly
4 Staging review — Firmly deploys themed pages to the staging domain; partner reviews branding on Landing page, PDP, Checkout, Thank-you Both
5 Feedback and iteration — partner flags branding issues; Firmly adjusts the theme Both
6 Sign-off — partner’s design/brand contact approves the theme for production Partner

​​ Per-property theming

Some partners operate multiple brand properties (e.g., several deal sites under one parent). Each property may have its own logo, palette, and copy voice. The theme is configurable per property — one onboarding produces multiple theme variants, not one.

​​ Ad-platform credentials

Per ad platform the partner runs campaigns on, channel mix is determined by which credentials the partner supplies:

Provided Channel mix
Pixel ID / dataset ID only Client-side pixel only
Pixel ID + account ID + access token Dual-fire — client-side pixel + server-side CAPI with event_id dedup

Recommended: provide both. Server-side fires cover conversions the client-side pixel misses due to ad blockers. The event_id deduplication ensures one conversion event per order, not two.

Supported platforms: Meta (CAPI), Google Ads (Enhanced Conversions), TikTok, Pinterest, Snap, Reddit.

The partner provides credentials per platform — Firmly does not share credentials across platforms.

​​ Language and locale

Pages contain content from multiple sources; each has its own language concern:

Content source Language determined by
Product data (title, description, images) The merchant — fetched from the merchant’s catalog in whatever language the merchant serves
Partner branding copy (CTA verbs, promo messaging, savings callout) The partner — provided during onboarding as copy preferences
Checkout labels (form fields, error messages, payment method names) Firmly — rendered by the Drop-in Checkout component
Legal copy (T&C, privacy policy, disclaimers) The partner — provided as URLs and inline text during onboarding

If the partner operates in a non-English market where the merchant catalog returns English data, the result is mixed-language pages. Confirm the merchant catalog language during onboarding before going live in non-English markets.

​​ Attribution metadata fields

When an order is placed, Branded Commerce carries attribution data from the branded page through to the merchant’s OMS so the merchant’s own reporting can reconcile partner-driven orders. Three categories flow through:

Category What it carries Source
UTM params utm_source, utm_campaign, utm_content Captured from the ad-click URL on the branded page and set on the cart session
Ad-click IDs fbclid, gclid, ttclid, and other platform click identifiers Captured from the ad-click URL; used for the ad platform’s conversion postback
Partner identifier Identifies which partner surface drove the order Derived from the partner’s configuration; set automatically on the cart session

​​ Pre-launch checklist

Sign off on every item below before publishing the first product:

  • Production CNAME resolves; TLS valid on the partner hostname
  • Staging CNAME resolves; TLS valid; staging tested end-to-end
  • Theme reviewed and approved on staging (Landing page, PDP, Checkout, Thank-you)
  • Affiliate mode chosen (BYO or Firmly-managed) + credentials configured
  • Per-platform ad pixels configured (dual-fire preferred where possible)
  • Merchant list agreed + onboarding status confirmed for each merchant
  • At least one test order placed on staging end-to-end
  • Legal copy (T&C, privacy, disclaimers) approved and live