Building Scheduloo — why ad attribution for service businesses is a genuinely hard problem

We have spent a lot of time over the past few years trying to answer one question for service business clients: which ad actually drove the appointment that became a paid job? You would think this is a solved problem. It is not. At least not cleanly, and especially not in the Indian market where WhatsApp and phone calls sit between the ad click and the booking.
The standard attribution stack, Google Ads conversion tracking, Meta Pixel, a CRM, works reasonably well when the customer journey is digital end-to-end. Click an ad, visit a landing page, fill a form, conversion tracked. But most service businesses in India do not work that way. A potential customer clicks an ad, visits the page, decides they want to call first, messages on WhatsApp, gets a quote, pays via UPI three days later. Where in that journey do you place the attribution? How do you connect that UPI payment back to the original ad click?
What we built and why
Scheduloo started as an internal attempt to answer this for one of our clients, a home services company running campaigns across Google and Meta with a combined monthly budget around one lakh. They were booking jobs but could not tell us which channel was driving them. Their entire attribution was based on "how did you hear about us," which is better than nothing but not precise enough to optimise spend.
We built a system that assigns a unique tracking ID to each ad click, stores it in a cookie and in the URL, and carries it through to the booking form. When a customer books by phone or WhatsApp instead, the sales team gets a prompt to ask for a short reference code that maps back to their session. It is not perfect. Some customers do not have the code. Some journeys are too fragmented to reconstruct. But we moved the attribution coverage from roughly thirty percent to close to seventy percent over the first three months.
The hard parts
The hard engineering problem was not the tracking. It was the data model. Service businesses have jobs, not orders. A single job can span multiple visits. A customer may book again six months later from a different device. We had to decide what "conversion" actually meant for each client type and build the model around that definition, not around what was easy to track.
The second hard problem was trust. Clients needed to believe the numbers they were seeing. We spent as much time on the reporting interface as on the tracking infrastructure because a number no one trusts is worse than no number at all. If the dashboard made sense to a business owner without a technical background, we had done the job right.
Scheduloo is still evolving. We are working on integrations for the booking tools most Indian service businesses already use. The attribution problem is not going away, and we think the right solution is one built specifically for how Indian service businesses actually operate, not adapted from US SaaS infrastructure.