Performance Marketing · PPC

How I Fixed Worksy's Google Ads and Cut Junk Leads by 93%

2025
12 min read
How I Fixed Worksy's Google Ads and Cut Junk Leads by 93%

Project: Worksy HRMS - Google Ads Overhaul
Role: PPC Strategy and Campaign Management
Timeline: January 2025 to Present

When I joined Worksy, the Google Ads account was in rough shape. We had hired a third party agency to manage our ads from January 2025 to April 2025. This was actually our second agency. The first one charged us RM1200 per lead. That is way too expensive.

The second agency did not do much better. Meta ads were volatile because of the Andromeda update, so we needed Google Ads to be our stable backup. But the agency made several critical mistakes that wasted our budget.

I had personally spent close to RM6k learning Google Ads from AdsBrain, a Google Premier Partner in Malaysia. They manage millions in ad spend for big brands. So I knew what good account management looked like. And what I saw at Worksy was not it.

The Problems I Found

The agency failed in several key areas. Here is a breakdown:

Issue What They Did Why It Was Bad
Search Partners Left "Google Search Partners" checkbox ticked This opens the door to click fraud and low quality traffic
Keyword Targeting Targeted broad terms like "payslip" Attracted junk leads who thought we offered free payslip generation
Conversion Count Setting Used "Every conversion" instead of "Only one conversion" Google counted the same lead multiple times, inflating our numbers
Budget Management Accidentally applied AI recommendations without review Entire monthly budget spent in one weekend with no warning
Lead Quality Monitoring Did not flag the spike in junk leads We wasted hours qualifying leads that were never a good fit

The Conversion Count Bug

This was the biggest issue. Because they used "Every conversion", Google counted the same user action multiple times.

Metric Agency Reported Actual Reality
Conversions in Dashboard 616 119
Cost Per Conversion ~RM30 ~RM250 (real cost)
Junk Leads Per Month Not tracked 93

The cheap CPC looked great on paper. But in reality, we were paying for ghost conversions and wasting time on bad leads.

My Solution: Take Control and Restructure

In April, I pitched to management that we needed to fire the agency. We were paying pennies to get junk instead of paying a fair price for quality leads. They agreed, and I took over the account from scratch.

Week 1: Research and Restructuring

  • Audited all existing campaigns and paused underperformers
  • Researched high intent keywords with commercial intent
  • Built new campaign structure based on product modules and user intent
  • Set conversion counting to "Only one conversion" to fix the data

Week 2: Launch Search Campaigns with Tight Controls

  • Removed Google Search Partners to avoid low quality traffic
  • Used exact and phrase match keywords only, no broad match
  • Added negative keyword lists to filter out irrelevant searches
  • Wrote ad copy that set clear expectations about our product

Week 3: Test Google Display Network (GDN) with Smart Exclusions

Many marketers think GDN is only for awareness. I disagree. With the right settings, it can drive quality conversions too.

My exclusion strategy using Google Apps Script:

  • Blocked any website that does not end in .com, .my, or .com.my
  • Blacklisted sites containing words like: pdf, apk, mobile, casino, converter, free, download
  • Excluded apps and games categories entirely
  • Used affinity and in market audiences focused on HR and business software

This took time to set up, but it kept our ads away from spammy sites where users would never convert.

Technical Fix: Stopping Spam Bots on Forms

Good ads bring traffic, but we also needed to protect the lead form itself. We were getting hit by spam bots that filled out forms automatically.

The Cloudflare Plan (That Did Not Work)

We first planned to move the domain to Cloudflare managed DNS. This would give us stronger spam protection. However, the app development team warned us it might cause downtime for users. We could not risk losing real customers, so I had to find another way.

My Custom Anti-Spam Layers

I built a multi-layer defense system using custom code. Here is how I stopped the bots:

Layer Method How It Works
Layer 1 Honeypot Field A hidden field that humans cannot see. Bots fill it out automatically. If filled, we block the submission.
Layer 2 Phone Validation A code snippet that only accepts mobile number formats from Malaysia. International spam numbers are rejected.
Layer 3 Session Cookie Limit A temporary file stored on the user browser. It tracks submissions per device.
Layer 4 Rate Limiting Users can only submit the form once every 12 hours. Most real leads only fill the form once, so this stops repeat spam.

Some advanced bots slipped through the honeypot. That is why I added the session cookie and phone validation. This combination stopped almost all fake submissions without hurting the user experience for real people.

The Results

Search Campaigns

Metric Before (Agency) After (My Management)
Ghost Conversions Yes (616 reported, 119 real) None
Cost Per Acquisition ~RM30 (inflated) RM400 (real)
Lead Quality 93 junk leads/month 0 junk leads
Conversion Rate Low, untracked 80% qualified

Yes, CPA went up. But that is a good thing. We stopped paying for fake conversions and started paying for real, qualified leads.

Display Campaigns (GDN)

Metric Result
Cost Per Acquisition RM110 per lead
Qualified Lead Rate 7 out of 10 leads were qualified
Role in Funnel Drove high quality leads at lower cost, supported search campaigns

Overall Impact: Meta + Google Combined

After running this strategy for a year, our combined conversion rate from Meta and Google Ads improved significantly.

Month Total Leads Qualified Leads Qualification Rate
Jan 431 138 32.02%
Feb 589 246 41.77%
Mar 509 144 28.29%
Apr 417 150 35.97%
May 443 215 48.53%
Jun 493 221 44.83%
Jul 436 233 53.44%
Aug 406 238 58.62%
Sep 409 246 60.15%
Oct 362 280 77.35%
Nov 377 281 74.54%
Dec 576 307 53.30%

Peak Performance: October hit 77.35 percent qualified leads, our highest ever. December slowed down as expected due to the holiday season.

Bonus Impact: SEO + Ads Working Together

The Google Ads overhaul did not work alone. When paired with the SEO strategy I built, we started attracting bigger companies with more headcount.

We track leads by company size. Here is how each segment improved:

Company Size (Headcount) Before After Improvement
Above 50 HC Low signups, high dropoff Consistent qualified demos 3x increase in conversions
Above 100 HC Rare leads, long sales cycle Steady pipeline of mid-market leads 2.5x increase in conversions
Above 200 HC Almost zero enterprise leads Regular enterprise demos and closed deals 4x increase in conversions

Why this matters:

  • Sales team spends less time on small companies that are not a good fit
  • Marketing delivers leads that match our ideal customer profile
  • Higher average contract value because bigger companies stay longer and pay more
  • Monthly revenue now consistently exceeds RM1 million

What This Says About My Work

This project shows that I do not just manage ads. I fix broken systems and connect marketing to revenue.

My approach:

  1. Audit first, act second. Always check the settings others overlook.
  2. Quality over quantity. Cheap leads that do not convert are expensive in the long run.
  3. Use code and automation to solve problems at scale, like my Apps Script exclusion list and form security.
  4. Test beyond the obvious. GDN can work for conversions if you control where your ads appear.
  5. Align metrics with business goals. We optimized for qualified leads, not just form fills.
  6. Connect channels. SEO and Ads work better together than alone.
  7. Think about the full funnel. Good leads help sales close bigger deals faster.

I help companies stop wasting ad spend and start getting leads that actually matter. And when marketing and sales work together, revenue grows.