Car logos for dealership website platforms
Every rooftop you host sells a different set of makes. Serve the right badge on inventory filters, brand pages, and dealer 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 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
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
Volume franchises
Premium and luxury rooftops
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
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 and finance applications
Teams building lease and loan origination, quoting, and portfolio tools
Vehicle make selector
Developers adding a make picker to search, onboarding, or quoting flows
Brand assets across multiple sites
Engineering leads running several automotive products or codebases