Skip to content
Mesa Web Designers

Dashboards & analytics

ServiceTitan Multi-Location Reporting Dashboards

Branches compare fairly only when they count the same way. A multi-location dashboard maps each branch's job types and business units to one set of definitions, rolls them up, and shows each manager only their own branch.

Illustrative · sample data

Multi-location comparison

This quarterAll branches

Branches

4

Sample company

Company revenue

$3.9M

Sample data

Best avg ticket

$804

North branch, sample

Spread in close rate

12 pts

Sample data

Revenue by branch (sample)

NorthEastSouthWest
Multi-location comparison, sample table
BranchJobsAvg ticket
North1,212$804
East1,098$702
South1,044$655
Illustrative multi-location layout. Branch names and all figures are sample data for demonstration.

The branch you acquired calls an AC repair something else.

For example, a company runs three branches in one ServiceTitan account and buys a fourth that has its own. The original branches call it "AC Repair"; the new one calls it "Cooling Service - Demand". One branch splits install into two business units, another doesn't. Every branch reports its own numbers accurately, and none of them can be put side by side without someone rebuilding the spreadsheet each month.

A multi-location dashboard does that rebuilding once, in code, with a mapping everyone can see. It reads each branch's data, translates job types, business units and campaigns into one company vocabulary, and produces both the roll-up and a fair comparison. Branch managers see their own branch; the owner sees all of them.

It's one view within our custom ServiceTitan dashboards work, usually built after the company has agreed the definitions on an executive KPI dashboard.

Business units, branches and tenants

How your locations are set up in ServiceTitan decides how the dashboard connects.

  • One account, several business units

    Branches live as business units in one ServiceTitan tenant. One app connection, one set of credentials, and the dashboard groups business units into branches by a mapping you approve.

  • Several accounts

    Each branch has its own ServiceTitan tenant. Each tenant's admin connects the app separately, and each connection has its own client ID and secret. The dashboard keeps them apart on the server and combines only the results.

  • Ownership matters

    ServiceTitan's API Terms describe custom applications as used by a customer with tenants it owns and administers. A franchise group or a set of independently owned companies is a different situation, confirmed with ServiceTitan before scoping.

  • Limits per tenant

    Rate limits apply per application per tenant, and the Reporting API runs the same report once per minute per tenant, so refreshes are scheduled tenant by tenant.

Normalizing data across locations

  1. 1

    Inventory each branch

    List every job type, business unit, campaign and cancel reason in use at each location, with job counts, so rarely used codes don't get the same attention as common ones.

  2. 2

    Agree one company vocabulary

    A short list of categories everyone reports on: demand service, maintenance, install, replacement, warranty. The owner signs off on it.

  3. 3

    Map, and keep the map visible

    Each local code maps to one company category in a table the operations manager can edit. The dashboard shows the mapping, so nobody wonders why a number moved.

  4. 4

    Catch what doesn't map

    New job types created at a branch land in an unmapped bucket that's reported, not silently dropped. Someone gets a note to map it.

  5. 5

    Settle dates and calendars

    Each branch's dates are read in its own local time, then rolled into the company's reporting calendar. Arizona not observing daylight saving time is a real issue for companies with a branch across the state line.

Comparison metrics, defined

The same definitions as the single-location pages, applied after mapping, plus one that measures the mapping itself.

Company revenue roll-up

Sum of each branch's invoiced revenue under the company definition. Transfers or jobs shared between branches are counted once, at the branch that invoiced.

Data needed: Invoices and business units from each tenant (Accounting, Settings).

Revenue and jobs by branch

Invoiced revenue and completed jobs per branch, by company category, for the period.

Data needed: Jobs, job types and invoices from each tenant, translated through the mapping table.

Average ticket by branch

Branch revenue divided by completed jobs with an invoice above $0, by company category. Never compared across categories.

Data needed: Jobs and invoices, after mapping.

Close rate by branch

Opportunities with a sold estimate within the agreed window divided by opportunities, using the company's opportunity categories.

Data needed: Jobs and estimates (Sales & Estimates) from each tenant.

Booking rate by branch

Booked leads divided by qualified leads, where each branch's call setup allows it to be measured. Branches without call data are marked, not estimated.

Data needed: Calls (Telecom), leads and bookings (CRM). Depends on each branch's phone setup.

Unmapped share

Jobs or revenue in the unmapped bucket as a share of the branch total. A data-quality figure: when it climbs, comparisons get less reliable.

Data needed: Derived from the mapping table and each tenant's job types.

Native ServiceTitan reporting vs a custom roll-up

NeedIn ServiceTitanCustom-built
Business units in one accountReports can filter and group by business unit within the account.Business units grouped into branches and regions by your mapping, with branch-scoped logins.
Several accountsEach account reports on its own data. Check with ServiceTitan whether your setup includes cross-account reporting.Separate connections per tenant, results combined under one set of definitions.
Different namingEach branch's job types and business units as configured.A visible mapping table that translates local codes into company categories.

What to have ready before we talk

None of this is required for a first call, but each answer makes the scope and the quote sharper.

  • How locations are set up: business units in one account, separate accounts, or both
  • Who owns and administers each ServiceTitan tenant
  • The job types and business units each branch uses today
  • Who maintains the mapping when a branch adds a new job type
  • What each branch manager, regional manager and owner should see
  • Time zones and the reporting calendar each branch follows

Related ServiceTitan development

Mesa Web Designers is an independent developer. We are not affiliated with, endorsed by, or a partner of ServiceTitan. ServiceTitan is a trademark of its owner. What an integration can do depends on your ServiceTitan products, the permissions your admin grants, and the APIs available to your account.

Start the conversation

Compare branches on the same terms.

Tell us how your locations are set up in ServiceTitan. We'll map the differences and show what a fair roll-up would look like.

  • Web apps, portals and integrations start from $575, priced by complexity
  • The developer who scopes it builds it and answers the phone
  • Built for ServiceTitan contractors nationwide
Step 2 of 4 · The details50%

What do you need built?

Pick what fits (pick any)

Rather talk? (480) 525-7582. 0% financing on any project, 25% down. See all pricing

Multi-location reporting: questions we hear a lot.

Can one dashboard report across several ServiceTitan accounts?

Yes, where the company owns and administers the accounts. Each tenant's admin connects the app separately and each connection has its own credentials. The dashboard reads each one on the server and combines the results under one set of definitions.

How do you compare branches that name job types differently?

With a mapping table that translates each branch's job types and business units into a short list of company categories. The table is visible and editable, and anything unmapped is reported rather than dropped.

Can branch managers see only their own branch?

Yes. Each login is scoped to a branch, a region or the company, and the server filters data before it reaches the browser. You decide whether managers see other branches' figures, only their rank, or nothing.

What about a franchise group with independently owned locations?

That's a different situation under ServiceTitan's API Terms, which distinguish applications used by one customer for tenants it owns from applications serving multiple customers. It's something to confirm with ServiceTitan before any work is scoped.

Compare branches on the same terms.

Tell us how your locations are set up in ServiceTitan. We'll map the differences and show what a fair roll-up would look like.