• This thread is just the tip of the iceberg.The people ahead of the curve aren't Googling for answers — they're already in here, having the conversations you haven't found yet. DealerRefresh is free.Get the full picture →
Blair, I’d call it a dealership data warehouse with reporting and alerts built around it.

The dashboard is the easy part. The hard part is getting the CRM, DMS, marketing, purchasing, inventory, and service data to agree on the same customer, VIN, deal, and store.

Once that’s clean, you can set the ranges you care about and have it flag things like leads sitting too long, aging units, recon getting backed up, or ad spend climbing without sales following.

I’d be careful with anyone promising true real time. You’re only as real time as the feeds coming in.

If the data underneath isn’t clean, it’s still the same fire hose just with better graphics.
And here is the real problem!

Getting 20 disconnected vendors (CRM, DMS, marketing, service) to agree on the same customer ID, VIN, or deal is a brutal engineering nightmare. And you're completely right about "real-time", you are always held hostage by the latency of the feeds coming in.

This is the reason why external data warehouses and BI dashboards will always be fighting an uphill battle. You are spending all your energy trying to stitch together a Frankenstein monster after the fact.

However...what if instead of trying to make 20 databases agree with each other, you instead used one operating layer where they never split apart in the first place?

If the website, CRM, service scheduler, and inventory all write back to a single unified core database natively from day one:
  • There are no separate customer records to reconcile between the CRM and service.
  • There is no data cleanup pipeline to break every time a legacy vendor updates their API.
  • The data is clean because it shares a single, immutable identity from the very first interaction.
Dashboards, alerts for aging inventory, and recon bottlenecks become trivial when a dealership finally stops renting its data pipelines and builds a system that actually remembers.
 
  • Like
Reactions: KennySmithAutoUnite
And here is the real problem!

Getting 20 disconnected vendors (CRM, DMS, marketing, service) to agree on the same customer ID, VIN, or deal is a brutal engineering nightmare. And you're completely right about "real-time", you are always held hostage by the latency of the feeds coming in.

This is the reason why external data warehouses and BI dashboards will always be fighting an uphill battle. You are spending all your energy trying to stitch together a Frankenstein monster after the fact.

However...what if instead of trying to make 20 databases agree with each other, you instead used one operating layer where they never split apart in the first place?

If the website, CRM, service scheduler, and inventory all write back to a single unified core database natively from day one:
  • There are no separate customer records to reconcile between the CRM and service.
  • There is no data cleanup pipeline to break every time a legacy vendor updates their API.
  • The data is clean because it shares a single, immutable identity from the very first interaction.
Dashboards, alerts for aging inventory, and recon bottlenecks become trivial when a dealership finally stops renting its data pipelines and builds a system that actually remembers.
Gregg, I agree with the end goal. The store needs one memory, not 20 systems telling 20 different stories.


Where I get hung up is having every vendor write straight into one big database. No dealer is ripping out the DMS, CRM, website, service scheduler, inventory tools, accounting, OEM systems, and lender connections all at once. I also would not want every vendor able to change the same customer or deal record. One bad match or bad API push could dirty up the whole store.


I think the realistic answer is one clean customer, vehicle, deal, and store identity underneath the systems dealers already use.


Let the DMS own the deal and accounting record. Let the CRM own the follow-up. Let service own the appointment and repair-order activity. Let inventory own the vehicle status. But make sure they are all talking about the same customer, same VIN, same deal, and same rooftop.


Even then, the customer identity cannot be locked from the first click. People use work emails, personal emails, old phone numbers, different names, and spouses shop together. Every store has duplicate records. You need to be able to join records, separate them, and undo a bad match without losing the history.


Once that part is right, the dashboard really is the easy part. Then you can trust an alert that says a lead is aging, recon is backed up, inventory is sitting too long, or ad spend is climbing without sales behind it.


Are you thinking this starts as a layer underneath the systems dealers already have, or are you talking about replacing the CRM, DMS, website, service, and inventory stack altogether?
 
  • Like
Reactions: Vochi
Gregg, I agree with the end goal. The store needs one memory, not 20 systems telling 20 different stories.


Where I get hung up is having every vendor write straight into one big database. No dealer is ripping out the DMS, CRM, website, service scheduler, inventory tools, accounting, OEM systems, and lender connections all at once. I also would not want every vendor able to change the same customer or deal record. One bad match or bad API push could dirty up the whole store.


I think the realistic answer is one clean customer, vehicle, deal, and store identity underneath the systems dealers already use.


Let the DMS own the deal and accounting record. Let the CRM own the follow-up. Let service own the appointment and repair-order activity. Let inventory own the vehicle status. But make sure they are all talking about the same customer, same VIN, same deal, and same rooftop.


Even then, the customer identity cannot be locked from the first click. People use work emails, personal emails, old phone numbers, different names, and spouses shop together. Every store has duplicate records. You need to be able to join records, separate them, and undo a bad match without losing the history.


Once that part is right, the dashboard really is the easy part. Then you can trust an alert that says a lead is aging, recon is backed up, inventory is sitting too long, or ad spend is climbing without sales behind it.


Are you thinking this starts as a layer underneath the systems dealers already have, or are you talking about replacing the CRM, DMS, website, service, and inventory stack altogether?

You nailed the hardest part of the problem: identity resolution isn't clean because people aren't clean. Spouses shop together, people use work emails on the website and personal emails in the CRM, and phone numbers change. If your system assumes a clean join from click one, it breaks immediately. You need the ability to merge, split, and undo bad matches without destroying history.

I'm not saying dealerships should rip out their current stack.

Instead, you build Django apps for each vertical (CRM, DMS, website, service). Those apps act as adapters that plug into whatever third-party tools the dealer is already using via APIs, webhooks, or feeds.

Here is what happens in the background:While the third-party CRM or DMS is doing its job, your Django backend is continuously making a native, structured copy of every record, note, and transaction on your database.

If a third-party vendor gets hacked, goes out of business, jacks up their rates, or you just want to fire them:
  1. You unplug their API.
  2. The default website and operational apps seamlessly take over using the local data you've already accumulated.
  3. You plug in the new vendor's API, map the endpoints, and keep moving. Your historical customer memory, repair orders, and deal data never left the building.
You don't rip out their stack. You just stop letting third-party vendors hold your business memory hostage!

The end game isn't replacing every application. It's making every application replaceable.
 
Agree with where this ended up. Power BI, Data Studio, or Tableau will build you a nice dashboard, but getting clean data into it is the hard part.

Honestly, unless you’re CarMax or a big group with your own data team, I think this is something you buy, not build. Database engineering gets messy fast if you don’t have someone who’s done it before.

We’ve been doing this with GA4, Google Ads, FB Ads, and inventory, with versioning and testing on the data. Just those have taken several months to work as desired. What the original post is asking for (marketing, CRM, DMS, purchasing, service) is a lot more than that.

Adding a new source gets a little easier each time since the pipeline is already built. Making it fit with everything else doesn’t. We run into scope and grain collisions all the time. GA4 tracks sessions, Ads tracks clicks and campaigns, inventory is by VIN, and the DMS is by deal. Getting all of that to agree on one customer or one car without over counting (fan out) stuff is a constant issue to be aware of. Like others said, no BI tool fixes that for you.

If you’re going to start on something like this, I’d recommend picking two or three sources that tie to decisions you make every week, getting those right, and adding from there. Trying to hook up everything at once is how these projects stall.
 

✨ AI Highlights

A dealer asks how to unify data from marketing, CRM, DMS, purchasing, and service into a single system with real-time alerts and measurable metrics. Replies converge on the idea that dashboard tools like Power BI or Tableau can surface the data, but the real obstacle is data ownership (vendors control your history), mismatched customer and deal identities across systems, and the engineering complexity of clean pipelines. The practical consensus is that unless a dealer has a dedicated data team, buying a purpose-built solution beats building one, and no dashboard fixes a fragmented data foundation underneath it.

Replies Views 24 17,910 Started Last Reply