v3.25.2
Revenue Recognition
6 Months Ended
Jun. 30, 2025
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
The following table disaggregates revenue by type (in thousands):
Three Months Ended June 30, 2025
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$31,226 $1,578 $32,804 
Transferred at a point in time52,920 — 52,920 
Total revenue$84,146 $1,578 $85,724 

Three Months Ended June 30, 2024
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$27,986 $904 $28,890 
Transferred at a point in time41,614 — 41,614 
Total revenue$69,600 $904 $70,504 
Six Months Ended June 30, 2025
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$61,600 $3,027 $64,627 
Transferred at a point in time101,777 — 101,777 
Total revenue$163,377 $3,027 $166,404 
Six Months Ended June 30, 2024
PlatformProfessional
Services and
Other
Total
Timing of revenue recognition
Transferred over time$53,703 $1,650 $55,353 
Transferred at a point in time81,662 — 81,662 
Total revenue$135,365 $1,650 $137,015 
Contract Balances
Contract Assets
Professional services revenue is generally recognized ratably over the implementation period, beginning on the commencement date of each contract. Platform revenue is recognized as the services are delivered. We record a contract asset when revenue recognized on a contract exceeds the billings. Our standard billing terms are monthly; however, the billings may not be consistent with the pattern of recognition, based on when services are performed. Contract assets were $1.8 million and $1.7 million as of June 30, 2025 and December 31, 2024, respectively.
Unearned Revenue
Unearned revenue primarily consists of billings or payments received in advance of revenue recognition from subscription services and is recognized as revenue when transfer of control to customers has occurred. During the six months ended June 30, 2025, we recognized $1.2 million of revenue related to contracts that were included in unearned revenue at December 31, 2024.
As of June 30, 2025, our remaining performance obligations were approximately $54.0 million, approximately 44% of which we expect to recognize as revenue over the next twelve months, and substantially all of the remaining revenue will be recognized thereafter over the next 24 to 48 months. These amounts only include contracts subject to a guaranteed fixed amount or the guaranteed minimum under variable contracts. Unrecognized revenue under contracts disclosed above do not include: (1) contracts with an original expected term of one year or less; (2) contracts for which variable consideration is determined based on the customer’s subsequent sale or usage; or (3) agreements for which our right to invoice corresponds with the value provided to the customer.
Deferred Contract Costs
We capitalize the incremental costs of obtaining a revenue contract, including sales commissions for new and renewal revenue contracts, certain related incentives, and associated payroll tax and fringe benefit costs. Capitalized amounts are recoverable through future revenue streams under customer contracts.
The following table summarizes the activity of current and non-current deferred contract costs (in thousands):
Balance at December 31, 2024$11,256 
Capitalization of deferred contract costs2,709 
Amortization of deferred contract costs(3,281)
Balance at June 30, 2025$10,684