Dimensions
Dimensions are the categorical fields you group by. Include any of them in fields to break your metrics out by that attribute; one row is returned per unique combination of the selected dimension values. Every dimension can also be used as a filter.
Account
| Dimension | Description | Example |
|---|---|---|
account | The account (business or brand) the data belongs to | "Example Home Services" |
accountKey | The account's unique key | "example-home-services" |
Attribution & marketing
| Dimension | Description | Example |
|---|---|---|
attributionCategory | The top-level classification of how a customer was sourced | "Advertising", "Organic", "Other" |
attributionChannel | The platform or pathway a customer was sourced through | "Google Ads", "LSA" |
attributionDetail | The raw referrer detail used for attribution | "category: Advertising\nchannel: Google Ads\n..." |
campaign | The marketing campaign credited to the customer | "Search - Branded" |
opportunityJobCampaign | The campaign as reported to your CRM, at the customer level (CRM Campaign) | "PPC Paid" |
When campaign is one of your dimensions, spend-based metrics use spend attributed to the specific campaign.
Customer & lead
| Dimension | Description | Example |
|---|---|---|
opportunitySource | The original source/platform that created the lead (Customer Lead Source) | "service-titan-call", "what-converts" |
opportunityType | The medium the customer used to create the lead (Customer Lead Type) | "phone", "chat", "form" |
customerStatus | The customer's relationship stage | "New", "Existing", "Unmatched" |
businessUnit | The business unit from the source CRM | "HVAC - Residential - Service" |
normalizedBusinessUnit | A normalized grouping of business units across accounts | "HVAC", "Plumbing" |
opportunityAgent | The CSR associated with the attributed conversion | "Jane Doe" |
technician | The technician who delivered the service for the customer | "John Roe" |
zip | The customer's ZIP code | "20850" |
opportunityId | Unique identifier for the customer | "a1b2c3d4e5" |
sourceId | The customer's identifier in the source system | "884213" |
customerEmail | The customer's email address | "name@example.com" |
customerPhone | The customer's phone number | "+15555550123" |
Funnel state
| Dimension | Description | Example |
|---|---|---|
adjustedType | The customer's furthest step through the funnel (Funnel Step) | "lead-originated", "booked", "estimated", "sold", "closed", "canceled" |
typeIsLast | Whether a row represents the customer's current (furthest) state. Most often used as a filter (typeIsLast=true) | true |
Lead grading
These dimensions are only available if your account subscribes to lead grading, which classifies each conversion (call, chat, or form) for bookability and intent. Without it, these fields are empty and the grading metrics return 0.
| Dimension | Description | Example |
|---|---|---|
conversionDetailedLabel | Bookability of the conversion | "Bookable - Booked", "Bookable - Didn't Book", "Unbookable" |
conversionIntent | What the caller or submitter was trying to do | "HVAC Service Request - Furnace" |
conversionReasonUnbookable | Why an unbookable conversion could not be booked | "Out Of Service Area", "Spam", "Wrong Number" |
conversionReasonLost | Why a bookable conversion did not book | "Pricing Concerns", "Planned Follow Up" |
conversionOutOfServiceAreaZip | ZIP parsed from out-of-service-area conversions | "20850" |
conversionNotOfferedServiceRequested | Service requested on conversions tagged Service Not Offered | "Pool heater repair" |
conversionNeedsManagementReview | Whether the conversion is flagged for a manager to review | true |
Each of the first four fields also has a conversionOriginal* twin (for example conversionOriginalDetailedLabel) that keeps the value as originally graded, before any manual update. The same four are available at the customer level as opportunityDetailedLabel, opportunityReasonUnbookable, opportunityReasonLost, and opportunityIntent, reflecting the conversion attributed to the customer.
The full conversation is also available for drilldown through conversionTranscript, conversionCallOrChatSummary, the call recording URL in recordingPlayer, and the customer-level opportunityTranscript. These are free text and not useful to group by.
Time
| Dimension | Description | Example |
|---|---|---|
date | The date of an event, YYYY-MM-DD | "2026-05-12" |
dateTime | The date and time of an event, ISO 8601 UTC | "2026-05-12T21:53:15.735Z" |
week | The calendar week, starting Monday | "2026-05-11" |
month | The calendar month | "2026-05" |
opportunityStartDate | The date the customer originated | "2026-05-04" |
firstBooked | Earliest date the customer had a booked event | "2026-05-09" |
firstEstimated | Earliest date the customer had an estimated event | "2026-05-10" |
firstSold | Earliest date the customer had a sold event | "2026-05-14" |
firstClosed | Earliest date the customer had a closed event | "2026-05-20" |
firstCanceled | Earliest date the customer had a canceled event | "2026-06-02" |
To bucket metrics by calendar period, prefer the interval parameter (day/week/month) over the date/week/month dimensions. interval tags each row with its start/end and respects the funnel windowing used by the step-rate metrics.
Availability
Some fields are only available when the relevant integration is enabled for the account, such as business unit.
This page covers the most useful dimensions. The complete machine-readable list, with a definition for every field, is the dictionary returned by GET /api.