Car logos for dealership website platforms
A multi-franchise dealer group, a used-car supermarket, and the platform that hosts a hundred dealer sites all have the same problem: every rooftop sells a different set of makes. Serve the right badge on inventory filters, brand pages, and group headers from one URL pattern, with no logo folder to copy into each new site and no theme release when a manufacturer changes its mark.
Northgate Auto Group
8 franchises · 3 locations
12 vehicles
Sorted by price
2024 Hyundai Tucson SEL
Used · Stock Y24-0658
$27,250
2024 Honda Civic Si
Used · Stock H24-0925
$29,800
2024 Volkswagen Tiguan SE R-Line
Certified · Stock V24-0349
$31,980
2025 Chevrolet Equinox RS
New · Stock C25-0277
$32,690
2025 Honda CR-V Sport-L
New · Stock H25-1180
$35,455
2025 Toyota RAV4 Hybrid XLE
New · Stock T25-0412
$36,740
2024 Toyota Tacoma TRD Off-Road
Used · Stock T24-0388
$41,200
2025 Subaru Outback Touring XT
New · Stock S25-0104
$42,295
2024 BMW X3 xDrive30i
Certified · Stock B24-0071
$46,500
2024 Ford F-150 XLT SuperCrew
Certified · Stock F24-0931
$47,900
2025 Ford Bronco Outer Banks
New · Stock F25-0102
$48,965
2025 BMW i4 eDrive40
New · Stock B25-0016
$57,900
What it changes for a dealer group or platform
- Rooftops launch without an asset step
- A new dealer's franchise strip is eight slugs in a config file. The site goes live when the content is ready, not when someone finds the Ram badge at the right size and drops it into the theme.
- Replaces an asset checklist for every new rooftop
- One fix reaches every dealer site
- When a manufacturer refreshes its mark, every rooftop you host picks up the new asset within a day from the same URL. No theme release, no per-site deploy, no dealer left on the old logo.
- Replaces a theme release and redeploy per rebrand
- Current marks on every rooftop
- Manufacturer brand standards reach dealers through the franchise agreement, and the website is the first place a field rep looks. Serving the current mark everywhere removes one thing your dealers can be flagged for.
- Replaces brand-standards fixes chased site by site
- Tickets that are never raised
- "Our Chevrolet logo is the old one" is a support ticket, an asset hunt, and a redeploy. When the badge comes from a maintained URL, the dealer never has a reason to send it.
- Replaces brand-asset support tickets from dealers
- Used stock that reads by make
- A used-car supermarket or nearly-new retailer lists whatever came in this week, across sixty makes it does not hold a franchise for. A badge keyed on the make slug means every listing carries the right mark without anyone maintaining a sixty-brand folder.
- Replaces a logo folder that grows with the stock list
How Leaselab took 100 brands off the operations budget
- Company
- Leaselab
- Footprint
- Multiple platforms
- Library
- More than 100 automotive brands
- Before Motomarks
- An extensive operational cost
What the team stopped doing
- 01
Hours chasing updated brand assets
The asset behind the URL is updated; the URL does not change
- 02
Resizing logos by hand for each placement
size=andtype=are query parameters - 03
Applying one change across various systems
Every platform reads the same URL, so one update reaches all of them
“What I care about is what stops being an engineering ticket. A manufacturer rebrand used to be a change in every platform we run, tested and deployed separately. Now the asset changes behind a URL we already call and our caches roll over within a day. Nobody on my team touches it.”
Where the badges go on a dealer site
- Inventory filters
- A 20px badge beside each make and its count. WebP by default, so a thirty-make filter stays light.
- type=badge&size=xs
- Franchise strip
- The brands a rooftop sells, in the header or footer of every page that rooftop serves.
- type=badge&size=sm
- Vehicle detail header
- The make badge next to year, model, and trim, matched to the listing it came from.
- type=badge&size=sm
- Brand landing pages
- A full logo at the top of /new/toyota, sized for a hero and cached for a day.
- type=full&size=lg
- Service and parts pages
- The makes a service centre works on, without a second image set to maintain.
- type=badge&size=sm
What logos in the theme cost a platform each year
Your numbers; change any input. First year = brands × minutes per brand + changes × codebases × hours per change. Each year after drops the one-time build. The model counts engineering time only; it leaves out CDN hosting, storage, and the cost of shipping an out-of-date mark.
Coverage for franchise rooftops and used stock
Volume franchises
Premium and luxury rooftops
UK and European dealer networks
Van centres and commercial franchises
Integration in four steps
“One partial in the theme. Adding a rooftop is a config change, and a rebrand is not a release.”
- 01
Map inventory feed makes to brand slugs
Your DMS or inventory feed spells makes its own way (
MERCEDES-BENZ,Mercedes Benz). Pull the published list from the JSON API on your server once a day and store theidnext to each make in your own tables.Secret keys stay on the server. The browser only ever sees the publishable key in image URLs.
sync-brand-slugs.ts const res = await fetch("https://api.motomarks.io/brands", { headers: { Authorization: `Bearer ${process.env.MOTOMARKS_SECRET_KEY}` }, }); const brands: { id: string; name: string }[] = await res.json(); // "mercedes-benz" <- "Mercedes-Benz" const slugByName = new Map( brands.map((brand) => [brand.name.toLowerCase(), brand.id]), ); await db.makes.upsertMany( feedMakes.map((make) => ({ name: make, slug: slugByName.get(make.toLowerCase()) ?? null, })), ); - 02
Render the badge from one template partial
One partial serves the filter, the result rows, and the detail header. The only thing that changes per placement is the
sizeparameter.Keep the make name in
altand in visible text so the interface reads correctly if a variant is not published for a brand.partials/make-badge.html <img src="https://motomarks.io/img/{{ vehicle.make_slug }}?type=badge&size=xs&token=pk_YOUR_PUBLISHABLE_KEY" alt="{{ vehicle.make }}" width="20" height="20" loading="lazy" /> <span>{{ vehicle.make }}</span> - 03
Configure each rooftop's franchise list
The franchise strip and the make filter read the same array. Adding a rooftop or a new franchise is a config change, not an asset upload into the theme.
dealers/northgate-auto.json { "dealer": "northgate-auto", "domain": "northgateauto.example", "franchises": [ "toyota", "honda", "ford", "chevrolet", "hyundai", "subaru", "volkswagen", "bmw" ] } - 04
Let the CDN and the browser cache
Every image ships with a 24-hour
Cache-Controlheader from an AWS CloudFront-backed CDN. Addloading="lazy"to filter and list badges, and preload only the badge above the fold on a brand landing page.On Pro, restrict the publishable key to your dealer domains (
*.yourplatform.example) so a copied key cannot be reused elsewhere.Response headers HTTP/1.1 200 OK Content-Type: image/webp Cache-Control: public, max-age=86400, immutable
Questions before you integrate
We are a dealer group running our own sites, not a platform. Does this still apply?
Yes. A group with a dozen rooftops, a used-car site, and a van centre has the same estate a platform does, at a smaller scale. One publishable key serves every site, the franchise strip is a slug list per rooftop, and a rebrand reaches all of them without a release. Startup covers most groups; Pro adds per-key domain restrictions.
Our site is built on a third-party dealer platform. Can we use the CDN there?
Wherever the platform lets you edit a template or supply an image URL, yes. The URL needs only the make slug and a publishable key, so it fits a CMS field, a template partial, or a widget. If your platform builds the site for you, send them this page; a platform can adopt it once for every dealer it hosts.
Do I need a separate API key for every dealer site?
No. One publishable key can serve every rooftop on your platform. The usage dashboard attributes browser requests by their Referer host, so you still see traffic per dealer domain. On Pro and Enterprise you can also restrict a key to an allowlist of hostnames, including wildcard subdomains such as *.yourplatform.example.
How does attribution work on a platform with many sites?
On the Free plan, each production site that displays logos needs a visible link back to motomarks.io. Startup ($19/month) and Pro ($49/month) remove the attribution requirement, which is the usual fit for a platform hosting many dealer domains.
What if a make in our feed is not published?
Keep the make name in the markup and let the badge fall back to text. Check the browse index for current coverage and request missing brands from the submit page. Badge, wordmark, and full-logo availability also varies by brand, so the text label belongs in the template either way.
Can we cache badges on our own CDN?
Temporary caching to improve performance for your users is within the fair use policy, and the Pro plan includes self-hosting and caching permission. Bulk downloading the library for redistribution is not permitted. Most platforms let the browser and the Motomarks CDN handle it: images ship with a 24-hour Cache-Control header.
Which size should a filter badge request?
Request size=xs (64px) for a 20px badge and size=sm (128px) for 32 to 64px placements. Both are served as WebP by default; add format=png where a PDF window sticker or an email needs PNG.
What does this cost compared with keeping logos in the theme?
Pro is $588 a year billed monthly, covers 100,000 requests a day, and lets you restrict the key to your dealer hostnames. Applying a single manufacturer rebrand to a theme, testing it, and redeploying across a rooftop estate usually consumes more engineering time than that. Leaselab described maintaining more than 100 brands across multiple platforms as an extensive operational cost before moving to Motomarks; the cost model on this page runs the same comparison with your numbers.
Add the badges
to your next rooftop.
Create a free key, drop the partial into your template, and the franchise strip renders for every dealer you host. The next rooftop launches without an asset step.
Free includes 1,000 requests per day with an attribution link. Startup and Pro remove attribution.
More ways teams use Motomarks
Leasing brokers and marketplaces
Lease and contract hire brokers, car finance marketplaces, and car search sites
Brand assets across multiple sites
Engineering leads running several automotive products, brands, or white-label sites
Rental and car subscription
Car and van hire companies, subscription services, and flexible lease providers