Overview
Mismatches between the conversion value (revenue) reported in Google Ads and the revenue shown in ServiceTitan reports for campaigns can occur. Learn about the potential causes and steps to address them.
Who uses this feature
Marketing managers, business owners, and other marketers on your team
Primarily benefits Residential Service and Replacement business types and Commercial Service and Replacement business types
Applies to all trades
Feature configuration
To get started with Marketing Pro Ads, request a demo on our Pro Products page, or reach out to your Customer Success Manager (CSM) or Pro Account Manager (PAM).
Causes of revenue discrepancies
Some common causes of revenue discrepancies between Google Ads and ServiceTitan include:
See the sections below to learn more about these common causes and how to resolve them.
Different time calculations
The difference in revenue reporting between ServiceTitan and Google Ads can be caused by the date each platform attributes the revenue to:
ServiceTitan: Revenue is recorded on the job completion date.
Google Ads: Revenue is recorded on the ad impression date. The ad impression date is the date the customer saw the ad.
For example, a customer sees your Google ad on January 1st and books an appointment. The job is completed on January 4th for $1,000.
ServiceTitan will show $1,000 in revenue on January 4th, the job completion date.
Google Ads will show $1,000 in revenue on January 1st, the ad impression date.
Even though Google Ads doesn't receive the conversion data until January 4th, it backdates the revenue to the date of the ad impression. This means the revenue will only appear in Google Ads when the date filters include January 1st.
How to solve this
The Google Ads method for analyzing revenue and cost on the same date as the ad impression is more helpful when determining the return on ad spend (ROAS) and overall performance. However, there are ways to visualize the data in Google Ads so that you can verify the revenue being sent to Google Ads is accurate.
Sign in to your Google Ads account.
In any table view, click Columns.

Select All conv. value (by conv. time) and click Apply. This column shows the conversion value on the date it was sent into Google Ads, which should align closely with the job completion date in ServiceTitan.

Click Segment > Conversions > Conversion action to segment your data by conversion action.

Add up the values for these conversion values to verify revenue:
ServiceTitan Completed Jobs Conversion Action
ServiceTitan Call Extension Completed Job Conversions

Note: This may help you discover another common reason for discrepancies: counting other conversion actions towards the conversion value total.
Manual campaign changes
If an office employee manually changes the campaign for a job in ServiceTitan after a conversion is sent to Google Ads, the date may not match. You can create a report to find out if this is contributing to the mismatched revenue.
How to solve this
In ServiceTitan, go to the navigation bar and click Reports.
Click Create Report.

Select Calls for the report type and report template.
Add the Job Campaign and Job Number columns to the report and click Next.

Enter a report name and category, then click Save.
Review the report for instances where the call campaign does not match the job campaign. Frequent mismatches may indicate that office employees are manually changing the job campaign.
Remember, multiple calls can link to a single job. It's normal for a Google Ads call to show a different campaign if it wasn't the call that directly created the job.
However, if mismatches are common, investigate the job audit trails to confirm whether campaigns are being manually overridden. If so, educate office employees to avoid overwriting the Marketing Campaign field for jobs where it's already set to prevent this issue.

Call Extensions not found in Google
When a job originates from a Google Ad call extension phone number and is completed, Ads Optimizer attempts to sync the call data with the Google Ads platform. However, Google only imports the associated revenue if it finds a matching call that aligns with the data we provide.
In some cases, a call extension number is dialed even though it wasn't actively displayed on a Google Ad at that time. This can happen for several reasons, such as:
Someone saved the number in their phone.
The number is being used elsewhere, like as a tracking number in an email.
When this occurs, ServiceTitan may attribute the call and its resulting job to the Google Ad campaign linked to that phone number. However, Google will reject the revenue because it doesn't recognize the call as a valid call extension interaction.
How to solve this
There will always be some level of mismatch due to this issue. If the discrepancy is significant, consider replacing the call extension number with a new tracking number.