Overview
To optimize lead attribution and market your scheduler, perform the following tasks:
Market your scheduler
Assign campaigns through Marketing Pro ads
Set a default marketing campaign
Set up marketing campaign rules
Track lead source data through URL
Track lead source data through onclick events
Modify campaigns in ServiceTitan
Who uses this feature
Administrators, office employees, managers, marketing managers, and accountants
Primarily benefits Residential Service
Feature configuration
To get started with Scheduling Pro and/or Marketing Pro, request a demo on our Pro Products page, or reach out to your Customer Success Manager (CSM) or Pro Account Manager.
Things to know
Scheduling Pro auto-assigns any campaign value included in your URL or on-click button, provided that it is included in the format campaign=example or sp-campaign=example. However, this behavior is overridden if you are using the Marketing Pro Ads integration.
Scheduling Pro captures other attribution parameters like UTM values, referrerURL and Google Click ID, GBRAID, and WBRAID if they are in your URL or on-click. These can be passed along to ST through the Marketing Pro Ads Integration or accessed through Scheduling Pro reporting.
Scheduling Pro also tracks attribution data for abandoned sessions, providing insights into potential leads even if they do not complete a booking.
Events in the scheduler are compatible with Google Analytics.
On Mobile, the scheduler displays full screen for greater visibility and mobile compatibility.
Your company name, header, and banner texts are all customizable.
The color theme for the scheduler is customizable, but the van image is static.
Market your scheduler
You can launch Scheduling Pro on a website with a call to action to streamline the booking process. Your web team can style a call to action to match the design of your website, while Scheduling Pro provides the scheduler script.
Best practices
Your call to action should make it clear to potential customers which action to take as the next step to book a job.
We recommend removing any old lead generation forms from your website because this can confuse customers wanting to book and cause additional work for you and your staff.
Generate direct links
Scheduling Pro utilizes direct links using the se_action parameter. You can append the following to your URL to directly call and auto-open the new scheduler:
https://example.com/?se_action=eyJ0eXBlIjoic2Utc2hvdy1tb2RhbCJ9
Market with Facebook Pixel/Advertising
If you are using Facebook/Meta/Instagram paid ads, you can track their success with Meta's Pixel. Pixel is a code on your website that lets Meta track user activity after they arrive fromFacebook or Instagram. You can install Pixel by following the directions on Meta Business Suite.
After your Pixel is installed and collecting data, you can insert additional code to track Scheduling Pro activities. By adding this code, you can see, for example, if someone clicks on a Facebook ad and then books an appointment through Scheduling Pro. This allows Facebook to optimize your advertisements to find and market towards those most likely to book through the scheduler in the future.
If you want to get more details on scheduling activities taken by people after they arrive at your website through Facebook, use the script below to track the whole booking process. You only need to include the events you want to track.
<script>
let appReadyChecker = null;
function AttachSPEvents() {
_scheduler.addEventListener("BookingStarted", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingStarted");
}
});
_scheduler.addEventListener("BookingProcessStarted", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingProcessStarted");
}
});
_scheduler.addEventListener("BookingIssueStarted", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingIssueStarted");
}
});
_scheduler.addEventListener("BookingIssueCompleted", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingIssueCompleted");
}
});
_scheduler.addEventListener("BookingSchedule", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingSchedule");
}
});
_scheduler.addEventListener("BookingCustomer", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingCustomer");
}
});
_scheduler.addEventListener("BookingDetailsMedia", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingDetailsMedia");
}
});
_scheduler.addEventListener("BookingDetailsMore", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingDetailsMore");
}
});
_scheduler.addEventListener("BookingBooked", function(){
if (typeof(fbq) == 'function'){
fbq('trackCustom', "BookingBooked");
}
});
}
document.addEventListener('DOMContentLoaded', function() {
appReadyChecker = setInterval(() => {
if(_scheduler) {
AttachSPEvents();
clearInterval(appReadyChecker);
}
}, 200);
});
</script>
Use QR codes
When using the direct links, you can have your customer scan a QR code and be taken right to booking a job inside of your scheduler. There are many websites you can use to create a QR code, but we recommend Canva.
If you are a Marketing Pro user, consider using QR codes that link directly to your scheduler in your Direct Mail campaigns. For example:

Shorten direct links
When using direct-to-scheduler links, sometimes the URL can become very long.
For example:
The Open to Repair section of the scheduler link could have the following URL:
https://demo.scheduleengine.net/jefferson?se_action=eyJ0eXBlIjoic2Utc2hvdy1tb2RhbC1yZXBhaXIiLCJvcHRpb25zIjp7InJvb21LZXkiOiJnZW5lcmFsIn19We recommend using link shorteners:
Use UTM codes
UTM codes are snippets of code you can add to the end of a URL to help track where your customer traffic comes from. Scheduling Pro can consume these codes and assign a specific marketing campaign.

Each parameter in a URL has a specific item it is tracking that is consumable by ServiceTitan and Scheduling Pro. For example, the one above is telling ServiceTitan and Scheduling Pro that the source was the website, the medium was a blog, and the campaign was Marketing Campaign XYZ.
Using UTMs on digital marketing campaigns, such as email and pay-per-click marketing (PPC), can inform your marketing strategy and cost per lead. Add them to a direct-to-scheduler link and Scheduling Pro passes that information into ServiceTitan.
Use this UTM builder to generate trackable URLs for your marketing campaigns and ensure accurate tracking in ServiceTitan.
Assign campaigns through Marketing Pro ads
If you have Marketing Pro ads, you can enable the Use Marketing Pro to assign campaigns to my jobs and bookings toggle in the Marketing section of the scheduler settings, which allows Marketing Pro Ads to feed campaign information into ServiceTitan from the original ad it came from. For example, if a customer sees an ad on Yelp, clicks on it, and comes to the scheduler and books, that lead would be attributed to Yelp automatically.

Set a default marketing campaign
You can set a default marketing campaign for jobs or bookings created through Scheduling Pro. If someone books in the scheduler and there is no attribution associated with them, we recommend assigning them to the Direct Web Traffic campaign. This is because if they didn’t come in with any attribution information associated with them, they were likely organic web traffic. If this campaign doesn’t exist in ServiceTitan, Scheduling Pro creates it.

Set up marketing campaign rules
You can set up custom rules for Marketing campaigns, although these rules are optional and are recommended only if you have specific marketing workflows that you need Scheduling Pro to align with. These rules are not available if you have the Marketing Pro Ads integration enabled.
For example, if someone books through your scheduler on Yelp, you can automatically add them to that campaign.
In most cases, campaigns can be automatically assigned without setting up a rule. For example, if the utm_campaign value is included in the scheduler URL—for example, utm_campaign=spring_cleaning—and it matches the name of an existing campaign in ServiceTitan, Scheduling Pro automatically assigns that campaign. This helps streamline campaign tracking and reduces the need for manual configuration.
Tip: UTM-based campaign assignment works with both URL parameters and onclick events. Use this approach to ensure that leads are accurately attributed to your marketing sources.
Note: If you use the Marketing Pro Ads integration, it overrides both manual rules and automatic UTM-based campaign assignment.
Manual rules may still be useful for more specific workflows. For example, you can assign a campaign based on the specific scheduler widget a customer uses to book, such as one placed on Yelp.

After rules are created, they can be deleted, edited, made active or inactive, and reordered. However, reordering rules changes the priority. Scheduling Pro always looks for the first rule in the list that matches. For example, if you have two rules with overlapping criteria, you should always put the one with the highest priority at the top of the list.
Track lead source data through URL
Scheduling Pro offers multiple options for tracking lead sources during scheduler sessions, including URLs and onclick events.
When a scheduler session occurs on a webpage with source tracking in the URL, Scheduling Pro captures and stores the data. You can later export this data from the Scheduling Pro performance flyout to review your marketing channels’ performance.
Source Tracking Fields
The following parameters can be included in your URLs for tracking:
affiliate
campaign
fbclid
gclid
GBRAID
WBRAID
msclkid
utmAdgroup
utmCampaign
utmMedium
utmSource
utmTerm
Add source parameters to your URL
You can add the tracking values to your URL using this format: ExampleWebsite.com/?campaign=insertSTcampaign&utmTerm=example
If your campaign name has spaces, replace each space with %20. For example:
Test your URL
Copy and paste the URL into your browser's address bar to verify it opens the correct page.
(Optional) Book a test job to confirm the correct data is recorded in the session.
Note: When Marketing Pro Ads integration is enabled with Scheduling Pro, you can’t pass campaign data through the URL. However, you can still include UTMs, GBRAID, and WBRAID in your URLs. Marketing Pro then assigns the correct campaign based on these values after the job is booked or if a session is abandoned.
See next section for tracking lead source data through onclick events.
Track lead source data through onclick events
You can also pass source tracking or scheduler data directly through onclick events. This is useful when you:
Hardcoding a specific promotion or coupon to a CTA (Call to Action)
Distinguish between multiple buttons on your site to find the best placement.
Source Tracking Fields
The same tracking fields used for URLs apply here:
affiliate
campaign
fbclid
gclid
msclkid
utmAdgroup
utmCampaign
utmMedium
utmSource
utmTerm
Scheduler Data Fields
You can also pass the following data directly to the scheduler and session:
firstName
lastName
phone
email
zipcode
Add source parameters to your button
Use an onclick event to pass tracking values to the scheduled session. For example:
_scheduler.show({campaign: 'abcd', utmCampaign: 'test'})
In this example:
The campaign is set to abcd.
The utmCapaign is set to test.
Modify campaigns in ServiceTitan
To verify campaign names in ServiceTitan or make any necessary changes:
Log in to your ServiceTitan account.
Go to the Marketing tab and click Campaigns.
View and select each of your created ServiceTitan campaigns and confirm or modify names as necessary.
Note: If you use spaces in your campaign name, you need to add a %20 to denote a space. For ease of use we recommend creating ST campaign names without spaces or using dashes, ie: mailerpromotionapril or mailer-promotion-april.
Want to learn more?
See Scheduling Pro