Tracking
Booking events in AppsFlyer; TikTok moved onto AppsFlyer; every bid switched to installs.
Serfix · Saudi Arabia · TikTok · Google Ads · Meta · Snapchat · AppsFlyer
سيرفيكس
Serfix is a Saudi home-services app that launched in Al-Rass, Al-Qassim. The app converted well, but its ads were bidding for clicks and page views, and not one platform could see a booking. As Performance Marketing Consultant I audited TikTok, Google, Snapchat and Meta, rebuilt measurement around real bookings, relaunched the media and opened a website lead and call channel. Three months later revenue was six times higher and Serfix was expanding to Buraydah.
Three months after the review, against the pre-engagement baseline
The brand
Serfix Technology is a Saudi home-services platform. Through its app (iOS and Android) and website, customers book certified specialists for plumbing, electrical work, air-conditioning, cleaning and general maintenance, then follow the job with live order tracking and chat with the technician in-app. Transparent pricing and free cancellation before the technician arrives are built in.
Home services are a trust purchase: you are letting a stranger into your home, usually in a hurry, and in a region where a broken AC in summer is an emergency. Serfix had the product to earn that trust in Al-Rass. Its advertising wasn't set up to prove it.
Service imagery · serfix.sa
Where we started
My technical review of all four ad accounts found the same story everywhere. Budget had gone to TikTok, Google Ads and Snapchat, but each platform was optimising for clicks or page views, and none of them received a single booking signal. Meta, the platform with the cleanest app data, had never been launched.
Meanwhile, the app worked. Four weeks of AppsFlyer data, all channels:
| Platform | Spend (SAR) | Optimised for | Installs credited | Cost per install | Status |
|---|---|---|---|---|---|
| TikTok | 1,829 | Clicks, then installs | 11 (iOS only) | 166 SAR | Paused, zero balance |
| Snapchat | 1,061 | Clicks | 2 | 531 SAR | Live, stuck in learning |
| Google Ads | 771 | Page views | Not tracked | — | Paused |
| Meta | 0 | — | — | — | Never launched |
On Google, 3,709 of the recorded "conversions" were page views, bought with 6,386 clicks at 0.12 SAR each. On TikTok, 800 SAR had gone to the Pangle network for zero installs.
The pitch
The plan I presented to Serfix's CEO did one thing before anything else: give every platform the same honest view of what customers actually do. Only then would spend resume, on goals that matched the business.
Booking events in AppsFlyer; TikTok moved onto AppsFlyer; every bid switched to installs.
GTM with every pixel, plus lead, WhatsApp and call tracking; verification, billing and Riyadh time fixed.
TikTok and Google live on the new media plan, on real goals only.
Numbers checked against AppsFlyer; bidding moved up to sign-ups.
Then all four platforms. Month one ran on TikTok and Google. Meta followed once its dataset was live, and Snapchat returned bidding for installs instead of clicks.
The scale-up goal set in the review: from about one booking a day across the whole app to six a day.
The execution
With the backbone in place, every channel could finally learn from real customers. The work then ran on four tracks at once.
Sign-up, service-viewed, booking and payment events flowed from AppsFlyer to every platform, and GTM made the website measurable. Bidding moved step by step from installs to sign-ups to bookings. One service area replaced four different ones, and the account basics — verification, billing, Riyadh time, consent under Saudi PDPL — were finished.
Moved −40% CACTikTok ran App Promotion per operating system on the TikTok placement only, with the problem shown in the first second, in Saudi dialect, as Spark Ads. Google moved budget from 0.12 SAR low-intent clicks to App campaigns and service-keyword Search. Meta launched on its clean app data, and Snapchat switched to installs.
Moved +26% CTRNot everyone installs an app before they trust a brand. A lead form and contact page, a WhatsApp click-to-chat button and call buttons on serfix.sa — each tracked as a lead — plus Google Search campaigns built for calls and WhatsApp turned enquiries into a second, cheaper route to a booking.
Moved −45% CPLI worked with the Serfix team to feed what leads, calls and customers were saying back into the service: faster responses, and clearer communication before and after every job. The promise in the ad became the experience at the door, and more first bookings turned into repeat ones.
Moved 6× revenueThe results
Every efficiency metric moved in the right direction while revenue multiplied, which is what made expansion a data-backed decision rather than a leap of faith.
| The review found | What we did | After 3 months |
|---|---|---|
| Every platform bid for clicks or page views | One AppsFlyer funnel on every platform; bidding moved from installs to sign-ups to bookings | −40% CAC |
| Videos lost viewers in 2 seconds; Google bought 0.12 SAR low-intent clicks | First-second hooks in Saudi dialect as Spark Ads; budget moved to service-keyword Search | +26% CTR |
| The website was invisible | GTM, a lead form, tracked WhatsApp and call clicks, and call-focused Search campaigns | −45% CPL |
| Goal: six bookings a day, from about one | Four platforms optimising on bookings, with communication and service improved alongside | 6× revenue |
| A different target area on every platform | One service area everywhere, proven in Al-Rass first | Expanding to Buraydah |
The app already converted. My job was to make the ads see it, and then make every riyal chase a booking.
Mahdi Hasan · Performance Marketing Consultant
What it unlocked
One agreed service area, measured the same way on every platform, made adding the next one straightforward. With acquisition costs down and revenue up six-fold, Serfix had the numbers to grow.
Where Serfix launched, and where the growth playbook was built and proven.
Al-Qassim's capital and largest city, and the first expansion market.
Taking the same measurement, lead and service model across the wider province.
Execution snapshot
| Focus | Implementation |
|---|---|
| Platforms | TikTok (App Promotion, Spark Ads) · Google Ads (App and Search) · Meta (Advantage+ app campaigns) · Snapchat (App Installs) |
| Measurement | AppsFlyer for the app; Google Tag Manager web and server for serfix.sa; Conversions API |
| Bidding path | Installs → sign-ups → bookings |
| Conversion paths | App bookings · web lead form · WhatsApp · calls |
| Targeting | One service area on every platform: Al-Rass first, then Buraydah |
| Account hygiene | Verified business and domain, SAR billing, Riyadh time, cookie consent under Saudi PDPL |
My role
What I took from it
A platform bidding for page views will find page views. Booking events changed what every algorithm chased.
Fixing measurement once, centrally, improved every channel at the same time.
WhatsApp, calls and a short form captured demand that an app-only funnel was leaving behind.
One service area, measured the same way everywhere, made Buraydah a data-backed next step.
Why this case matters
Serfix didn't need a bigger budget to grow. It needed its ads to see what customers actually did. Fixing that once let four platforms optimise toward bookings, and pairing it with a website lead channel and better service communication turned a one-city app into a business ready for the rest of Al-Qassim.
Brand website