Skip to content
  • Home

  • Automation with Zapier

  • Customer stories

Customer stories

6 min read

How Justin Hallman made invisible phone revenue visible

At Youtech, Justin Hallman connected paid search clicks to qualified leads, signed clients, and phone revenue.

By Rob Ayre · September 23, 2026

Making invisible revenue visible

Justin Hallman runs PPC campaigns at Youtech Agency. Every paid click has a cost. The harder number to see is what that click becomes: a qualified lead, a proposal, a signed contract, or a completed project.

Most agencies optimize toward the signals Google can see—clicks, calls, and form fills. Justin built a way to connect those signals to the real outcomes they drive for their clients.

The blind spot costing clients money

The idea started in an unrelated client meeting. The account was e-commerce, and the conversation turned to phone orders: Did the client need call tracking? How many orders were coming in over the phone?

The answer surprised Justin. Phone revenue was happening, but it wasn't connected to the paid campaigns that drove it. A call might be recorded as a 15-second conversion, but no one could tell whether the caller became a qualified lead, signed a contract, or generated revenue.

“We may not have told the client at all before we had a proof of concept,” Justin says. “A lot of things we were exploring without a guide.”

The opportunity was clear. If Youtech could capture what triggered a call and match it to the call's outcome, the agency could attribute phone revenue to specific Google paid campaigns. The revenue that had been invisible was large enough to change how a year’s marketing budget looked.

A standard conversion event captures activity. The question underneath it is what that activity became.

Why Zapier was the right fit

A custom build wouldn't have been practical. Each client uses a different CRM, call platform, and data-collection process. Building a dedicated integration for every combination would create a maintenance burden rather than a repeatable system. That compatibility was the starting point.

Zapier could already connect to the tools clients were using. With Zapier, it didn't matter what the client was running; the data could arrive in one place and get standardized before the matching logic ever ran.

Justin also needed to see where the process failed. The team used AI to workshop methods, generate Code by Zapier, and standardize fields one stage at a time: capture, format, look up, and upload. Each step could be tested on its own. When a match failed, the team could find the break instead of treating the whole workflow as a black box.

How he built it

The capture problem came first. GCLIDs—the unique identifiers Google assigns to paid clicks—arrive through two paths. For form fills, the identifier is sent via a hidden field on the landing page. For phone calls, it comes from the call-tracking platform. Both paths must land in the same Zapier Tables registry and use the same format before any matching can happen.

The matching process starts when a quality signal arrives. A lead is marked qualified in the CRM. A CallRail webhook fires when a tagged call is complete. A client sends an export of closed deals. Each event triggers a lookup against the GCLID registry.

Zapier takes the phone number or email from the quality signal, standardizes it, and searches for a match. When it finds one, the workflow uploads an offline conversion to Google Ads and identifies the click that led to it.

For clients with several stages in their funnel, the workflow can send different conversion actions for a qualified lead, a signed client, and a completed sale. The core logic stays the same across clients. Only the way data enters the system changes: CallRail webhooks for one client, a CRM export for another, Shopify events for an e-commerce business.

No client needs to replace its existing systems. The work happens in the layer between the tools.

Steal this pattern: Optimize toward the signal that became revenue, not the activity that might become revenue.

Justin was also able to take advantage of the Powered by Zapier program, where Google Ads is covering his first 2,000 tasks per month for 6 months.

The match-rate problem

The first version worked. The match rate didn't.

Offline conversion tracking can fail quietly. Phone numbers arrive in different formats. Timestamps do not line up across systems. Fields may be missing or populated differently from one client to the next. The data exists somewhere in the stack, but it is not always available in the format the next system expects.

Every inconsistency creates a mismatch. Every missed match is a conversion Google never learns from.

Justin used Code by Zapier to parse, clean, and standardize the data. The team worked through the problems separately: phone-number normalization, timestamp alignment, and deduplication for repeat contacts. The goal was not to make a perfect system. It was to make the match rate reliable enough to guide decisions.

The match rate moved from roughly 10–20% to above 85%.

"The first version running is not the same as the first version working."

The invisible becomes visible

The system attributed $213,000 in previously invisible phone revenue to Google paid, against $116,000 in spend. Before the build, the client could not connect phone-channel revenue to specific campaigns. Now that revenue can be used in campaign reporting and optimization.

The first client’s reaction was a mix of excitement and a practical next question: if another 10% of revenue could now be attributed, how should the campaigns be optimized around it? That led to a campaign built specifically to drive purchase calls—then optimized for purchases that would not have been visible in the e-commerce data alone.

The strategic shift went beyond phone calls. Instead of training campaigns on 15-second calls and form fills, the agency could send back quality leads, signed contracts, completed applications, and revenue-valued conversions. Manual reconciliation dropped away as the same process began running across multiple clients.

From raw leads to revenue

Justin doesn't describe the agency’s progress as one finished attribution number. Lead-generation revenue has too many stages for that: quote, estimate, signed contract, projected value, and completed project. The true revenue signal is the completed project, but keeping those stages separate and connecting them in sequence creates logistical work.

The agency is standardizing cost per quality lead as a decision metric rather than relying solely on CPA, raw conversions, or campaign type. That's already a step beyond optimizing for raw lead volume. The longer-term goal is to connect marketing to completed revenue and use target ROAS or maximize-conversion-value bidding when the data supports it.

A new conversation with leadership

The benefit isn't only better reporting. It's a clearer conversation about what the marketing generated.

A marketing team might report 20 conversions. Another team might call those 20 booked jobs. The service team might multiply those jobs by an average value. At the executive level, the question becomes revenue divided by marketing spend—the ROAS.

Connecting those steps has cut through assumptions. In some cases, it's shown clients that the business model itself wasn't sustainable. Transparency is useful even when the answer is uncomfortable.

How the data changes decisions

Justin compares the previous model to driving a car. Keywords used to be the steering wheel. With bid strategies, algorithms, and AI handling more of the driving, the quality of the data becomes what determines where the car goes. The budget is the fuel.

If the agency can show that better data produces more profitable results, the argument for budget becomes clearer. The question is less about spending as little as possible and more about whether additional spending continues to produce profitable revenue.

The changes are not identical across every account. Most clients have not completely changed their channel mix. But in e-commerce accounts and in businesses with enough full-funnel data to trust, the results can change campaign strategy and channel selection.

Justin has seen beauty-spa conversions come from people interested in celebrity news, accident victims come through home-decor interests, and plumbing leads come from recipe sites. Those connections make sense in retrospect, but they are not the audiences a team would necessarily choose by instinct. Revenue data can reveal them.

The next step in paid search

Google has removed many of the controls PPC teams once relied on. That shift makes the quality of the information sent back to the platform more important.

Clicks, calls, and form fills are useful signals. They are not the same as intent that led to revenue. Youtech’s system captures what Google provides, links that activity to what actually happened, and sends the outcome back in a format the ad platform can use.

The work isn't finished when the first workflow runs. The work is getting the match rate high enough to trust, keeping funnel stages separate, and making sure campaign decisions reflect completed business outcomes.

Get productivity tips delivered straight to your inbox

We’ll email you 1-3 times per week—and never share your information.

Related articles

Improve your productivity automatically. Use Zapier to get your apps working together.

Sign up
See how Zapier works
A Zap with the trigger 'When I get a new lead from Facebook,' and the action 'Notify my team in Slack'