A quick reference for all the Fontdue Settings.
Branding
Your foundry’s identity across the surfaces Fontdue renders.
- Foundry name – shown in the browser tab, navigation header, receipt emails (as the sender name), and invoice PDFs. Doubles as the copyright line if no footer text is set.
- Site URL – your homepage. Customers are redirected here after checkout; “back to site” links point here. Sites that embed Fontdue must fill this in; Fontdue template sites can leave it blank, and links follow the site’s address (custom domain included) automatically.
- Site description – a short site summary exposed through the GraphQL API for meta tags and similar uses.
- Logo – displayed in the nav bar, order confirmation pages, customer dashboard, receipt emails, and invoice PDFs. PNG only, max 500KB, rendered at 50% for retina and 300ppi in print.
- Favicon – links to a favicon generator. Used by the demo template and queryable through the GraphQL API.
- UI font and UI font (bold) – choose a font from your catalog to use for the Fontdue cart components, receipt emails, and embedded in invoice PDFs. If you’re using the Demo template or the Next.js example, the UI font will be used for the site UI. Queryable through GraphQL.
- Footer text – appears in the site footer and invoice PDFs. Use
{year}as a placeholder; defaults to© {year}plus your foundry name if blank. Queryable through GraphQL.
Integration
Tells Fontdue how your site connects, so the admin experience can be tailored to your setup.
- Fontdue template – your site runs on the built-in demo template, or a custom template built for you. Fontdue serves the whole site.
- Your own website – you’ve built your own site and are embedding Fontdue components on it. A secondary choice picks the delivery method: Script tag (
fontdue.js) for any website that can include<script>and HTML tags, React components (fontdue-json npm) for React or Next.js sites, or both11Pick both if you’re migrating between delivery methods or genuinely using the two simultaneously.. - Also using GraphQL API – tick this if your own site fetches catalog or content data from Fontdue’s GraphQL API.
These selections adjust which surfaces appear in the admin. For example, if you’re running your own site without the GraphQL API, the Pages and Articles sections and the Content tab on font collections are hidden, since you aren’t using Fontdue to serve that content. If your setup changes later, update the selection here so the admin stays in sync.
The tab also holds the developer settings for wiring Fontdue into a site you host yourself:
- Headless – disables the Fontdue-served site entirely. Visitors to your Fontdue URL see a “Not found” message, but Fontdue still serves checkout, the customer dashboard,
/graphql, and other necessary paths. Only available under Your own website. - HTML head – raw HTML injected into every Fontdue-hosted page’s
<head>. Use for analytics snippets and third-party meta tags22If you’ve enabled cookie consent, HTML head scripts can be gated on consent – see Gate third-party scripts on consent.. Still applied when you run your own site, since the order confirmation page, customer dashboard, and login page are hosted by Fontdue. Queryable through GraphQL. - Deploy hook URL – a URL Fontdue POSTs to whenever content changes (font collections, pages, articles). Useful for triggering static site rebuilds or ISR revalidation33For Next.js and similar sites, this allows content updates to be reflected immediately in your site frontend.
- Cross-origin API access – the list of domains allowed to embed your components or webfonts. See Cross-origin access below.
- Enable reCAPTCHA – optional Google reCAPTCHA on the test-fonts form and newsletter signup. Enabling it sends visitor data to Google; review the privacy implications.
- Password protection – HTTP Basic Auth for your whole site. Only shown if a password is already set; clear the field to turn it off.
Cross-origin access
Every website that embeds Fontdue components or webfonts from your store must have its origin on this list – Fontdue’s APIs reject requests from origins that aren’t. It applies only to sites you host yourself; the demo template and any other Fontdue-hosted pages are always allowed.
Entries are absolute URLs – protocol, domain, and optional port – with no path, query string, or fragment. https://your-foundry.com is valid; your-foundry.com/shop is not. Include local development URLs too, such as http://localhost:3000 (or whichever port you use), or your local site won’t be able to reach Fontdue.44If you’re working with a plain HTML file, opening it directly in the browser (file://...) won’t work with cross-origin requests. Run a local server instead – npx serve or python3 -m http.server – and use the resulting http://localhost:... URL.
Origins propagate to Fontdue’s edge network on save, so changes take effect within a minute or two.
Company
Your legal business details. These appear optionally on invoices and in receipt emails – see Receipts below for configuration.
Theme
Adjust the CSS variables that drive your site’s colors – Unset clears a single override, Reset clears them all. Theme properties lists every property and its default.
Login
Change your Fontdue admin login details. Three fields:
- Name – the display name shown in admin comments and the issue tracker.
- Email – the address you sign in with; password resets are sent here.
- Password – leave blank to keep your current password, or enter a new one (minimum 6 characters) to change it.
Don’t share these credentials. To give a collaborator access, get in touch.
Timezone
The timezone every date renders in – across the admin and on customer-facing surfaces alike. Order times, chart buckets, article publish times, invoice and receipt dates, and the dates in the customer dashboard all use it. Dates are stored in UTC and the setting is display-only, so changing it never alters stored data – but it does shift the dates shown on already-issued invoices and receipts, so set it before you start taking orders.55Near midnight UTC the timezone can even shift the date component of an invoice number, when the number format embeds a date. Pick from the IANA timezone list (e.g. Europe/Amsterdam, America/New_York); defaults to UTC.
Tax
Sales tax configuration – see Tax for the full walkthrough.
Currency
Change your store’s currency. Fontdue multiplies every product price by a conversion multiplier you provide – for example, 0.8 to convert $50 USD to 40 EUR.
What changes:
- All product prices are converted using the multiplier.
- New orders process in the new currency.
- Charts and analytics convert historical orders for display.
- Sales reports show separate totals for each currency.
- Order CSV exports include both original and converted amounts.
Things to be aware of:
- Carts started before the change can still complete in the original currency, but no new items can be added.
- Credit coupons remain in the original currency; recreate them in the new currency if you want them to apply going forward.
- Shared cart links stay valid for 30 days and complete in the original currency.
Payments
Set up your Fontdue-connected Stripe account here. See Payments for the full walkthrough.
Cart & checkout
Controls what’s collected from customers at checkout, and the customer-facing text in the cart and checkout.
- Address collection
- Required – the default: always ask for a full address.
- Auto – if you’re using Stripe Tax, the checkout will collect only the minimum required for tax calculation66Often only the country is collected. For US taxes, just the ZIP code..
- Phone number collection
- Never collect – the default option: phone numbers are not collected, no phone field is presented to the user.
- Required – adds a phone number field and requires users to fill it in. Requires address collection to be “required” as well. Stripe recommends only turning this on if it’s strictly necessary, and reviewing your privacy policy.
Fontdue collects two identities during the checkout: the billing information (who is paying) and the licensee information (who the fonts are being licensed for). The first step in the cart process asks the user to choose if they’re buying for themselves, or for “their client” – if buying for “their client” then a separate licensee form is shown. If you select Auto for address collection, and the customer selects “your client,” Fontdue still always collects the full address details for the licensee.
The tab also holds the customer-facing text in the cart and checkout. Leave a field blank to fall back to Fontdue’s default text.
- EULA agreement text – text beside the license agreement checkbox. Customers must tick this before completing checkout. Also shown in the Test fonts download form.
- Licensee picker labels – rename the licensee step’s Yourself and Your client buttons, and add explainer text under each.
- Store modal headings – the headings for each step of the store modal: Select licensee, Select order variables, Select licenses, Select fonts.
- Customer login submitted message – shown after a customer requests a magic-link login. Supports markdown.
Orders
- Anonymize webfont names – when enabled, WOFF and WOFF2 files in order downloads have their font names changed to discourage desktop installation. The family becomes
Copyright {Your Company}and the style becomesNot for desktop use. This matches the the behavior of the webfonts served on your site, but can cause problems for some webfonts users, particularly in Canva and Framer which rely on the font names.
Receipts
The content and formatting of receipt emails and invoice PDFs.
- Invoice name – what the document is titled. Defaults to Invoice; common alternatives are Purchase order and Receipt – change it if you prefer to not treat these as tax invoices.
- Include phone number / Include physical address – pull the corresponding fields from Company onto receipts.
- Receipt memo – text at the bottom of the receipt email.
- Invoice memo – footer text on invoice PDFs. Used for a thank-you, or additional notes about licensing.
- Invoice font size – font size used in generated invoice PDFs.
The sending address for receipts is configured under Email domain below.
Email domain
Authenticate your own sending domain so receipt emails come from your foundry, not from [email protected]. Uses SendGrid under the hood.
For example, [email protected]. Fontdue extracts the domain and begins the authentication process.
Fontdue returns one CNAME record (for tracking) and two DKIM records. Add each to your DNS provider – the UI has one-click copy buttons for host and value.
Click Verify DNS records. Fontdue re-checks them against SendGrid. DNS changes can take up to 48 hours to propagate, so if verification fails immediately, wait and try again.
Receipt emails now send from your chosen address. You can update the receipt email later as long as it stays on the same domain. Removing the domain reverts receipts to [email protected].
Test fonts
Configure which test fonts customers can download and how they’re generated. See Test fonts.
Analytics
Visitor tracking for your website. Reports land in the website analytics dashboard; only page views are captured without personally identifiable information.
- Enable analytics tracking – start recording page views. If cookie consent isn’t required, a
_fontdue_statecookie identifies returning visitors anonymously. If consent is required, tracking runs cookieless until the visitor opts in. - Require cookie consent – show a consent banner in the bottom-left of your website. Visitors choose Accept all or Necessary only; their choice is stored in
_fontdue_ccfor one year. - Consent message – override the banner’s default text (We use cookies to analyze site usage and improve your experience.).
If you also use third-party analytics (Google Analytics, Meta Pixel, etc.), see Gate third-party scripts on consent.
Enabling tracking collects anonymous visitor data. Update your privacy policy to disclose this.77See customer data for more guidance.
Newsletter
Connect a newsletter service to subscribe customers at checkout. Fontdue currently supports these providers below. Contact us to add your newsletter provider.
The tab also holds the customer-facing newsletter text:
- Newsletter opt-in label / success label – the text beside the newsletter opt-in checkbox, and the confirmation message shown after signup.
Klaviyo
- API key – from Settings → API Keys in Klaviyo. Create a custom private key with Full Access to the List, Profiles, and Subscriptions scopes.
- List ID – from Audience → Lists & Segments → Settings in Klaviyo.
- Sync existing customers – a one-shot bulk import of everyone who’s already opted in. Available once the key is saved. Klaviyo treats these as historical imports, so existing subscribers won’t receive duplicate welcome emails. The sync shows toast notifications as it progresses, and pauses and retries automatically if Klaviyo rate-limits the requests.
Buttondown
- API key – from API → Keys in Buttondown. Needs Subscribers read & write permission.
- Tag – optional tag applied to all subscribers (e.g.
fontdue). - Send confirmation email – toggle double opt-in.
Buttondown treats email already exists as a success, so Fontdue re-forwarding a customer is safe – it won’t create duplicates or re-send a confirmation.
Buttondown doesn’t support bulk import through the API. To seed your list with existing Fontdue customers, follow Newsletters – it walks through exporting opted-in customers as a CSV and importing them into your newsletter service.
Billing
Manage your subscription to Fontdue – the fee you pay to run your store, separate from customer payments, which flow through Stripe Connect directly to your bank. Only shown if your account is the billing account.
- Manage your payment details – opens the Stripe Customer Portal to update card and billing info.
- Cancel subscription – cancels at the end of the current billing period; you keep access until then.
- Undo canceling – resumes a cancelled subscription before the period ends.
In test mode, the Manage your payment details button is replaced with a note that billing changes must be made in live mode; switching to live mode restores the full tab.
If you’re still trialing and need more time, get in touch – we’re happy to extend the trial period as long as you need until you start accepting payments.
file://...) won’t work with cross-origin requests. Run a local server instead – npx serve or python3 -m http.server – and use the resulting http://localhost:... URL. ↩