You know your ads are working when you can open a family's record in your CRM and read which ad brought them in. Virtual Horizons Charter School could not do that when they called me. They believed last year's ads had produced almost nothing, and the next sentence was "but we weren't tracking anything."
So the real problem was the assumption, and the school had been spending against it. In 50 days this year, 57 families arrived with a source on the record.
Why Did a School Buying Ads Not Know If the Ads Worked?
Because nothing connected the click to the family. The 2019 Small Business Marketing Report from QuickBooks and LinkedIn surveyed 1,822 small business owners: 32% said they could not calculate the return on paid search and 29% could not on paid social. Only 30% said every marketing initiative had a measurable goal.
The year before I came in, the school's paid social ads drew about 23,000 clicks. The CRM had no source on the family record and the website put no tag on its form, so nobody could say which of those clicks became an inquiry.
Ryan Whitby, the school's CEO, put it in one line when he approved the first ad set in August: "We talked already about keeping track of everything so we know what works. I'm more worried about that."
That worry was the brief.
Why Did We Fix Site Speed Before Touching the Ads?
Because paid traffic to a slow page pays for clicks that leave before anyone fills out a form. Google's 2016 analysis of more than 10,000 mobile domains found that 53% of mobile site visits are abandoned when a page takes longer than three seconds to load. In June the school's homepage took 56.9 seconds to paint its main content on a phone.
The school had completed an interim redesign before I started, and the June measurement is of that site. We rebuilt before any new ad money moved. The new site went live on August 10 with 19 pages, content I pulled from the school's own files, and a homepage that leads with what the school can prove: state authorization, live licensed teachers, a headset and laptop for every student, Utah Core alignment.

Mobile load time for the main content fell about 88%, from 56.9 seconds in June to 6.8 seconds in my October 22 test. I want it under three, so that work is still open.

What Does "Map It" Mean When There Is No Process to Map?
It means get visibility into what is happening before you try to change it. The Aperture method is map it, automate it, AI it, in that order. Most of the time the map is a process pulled out of someone's head. For this school the map was tracking, because the question nobody could answer was "which of these clicks became a family?"
- Every tag runs through Google Tag Manager. When the school adds a platform, it goes in there instead of into the site's code.
- GA4, Google Ads, the Meta pixel and Meta's server-side connection each record the visit, so I can compare what the platforms report against what the CRM holds.
- A website inquiry carries its source, its landing page, and the family's consent choice into the school's CRM. Attribution sits where the staff works every day.
- Before launch, a test inquiry on the development site created the CRM lead and reached Meta's server. On August 24, a test lead I sent through a live ad link landed in the production CRM with first touch, last touch, consent and landing page attached.

Tracking is never finished on launch day, and I want to say that plainly. Facebook's server-side tracking reached production on August 22, ten days after the ads started. On September 22 I fixed a bug that dropped some Google clicks before they reached the CRM. And 22 of the 72 families who registered on the site declined the cookie banner, so for them the site only knows how they arrived on that one visit. The counts below are minimums.
Confidence in measurement has stalled across the industry. A July 2025 survey of 196 marketers by TransUnion and EMARKETER found 54.1% reported no change in their measurement confidence from the year before, and 14.3% said it fell. For this school, the change came from one connection: the inquiry source written onto the CRM record.
What Did Tracking Let Us Try That Guessing Never Would?
A campaign that looked like a long shot, and it brought the most recorded Google leads in the account: 10 of the 17 families who found the school through Google search. I built it around a state scholarship program Utah families can use to fund schooling choices. On paper it was fringe. Because each lead would carry its source, the worst case was knowing it didn't work.
Without tracking, that 10 of 17 would not exist. The campaign would have been one line in a platform report, next to five others, with no family attached to any of them.
The second decision was on Facebook. From August 12 to September 3 the ads sent parents to the website. On September 4 I switched to Meta's lead form, where a parent answers inside Facebook and the school's staff enter the response into the CRM. Cost per parent lead dropped 98% after the switch. For context, a Focus Digital benchmark of 138 North American Meta campaigns found lead form ads the cheapest format they measured. The school's before and after is one account, so read it as a direction.

In 50 days of ads, 57 families had a recorded interaction with a Virtual Horizons ad, counting each family once: 17 clicked a Google ad and registered on the site, 40 parents filled out the Facebook form, one did both, and one more came through a Facebook ad to the site. The year before, the school could trace none.

What I Learned Setting Up Tracking Before the Ads Ran
I ran a marketing agency for seven years, and I know what it sounds like when a story stands in for a measurement. "We think ads got us almost nothing" is a story. It might be true. Nobody at the school could check it, and that is the part I was hired to fix.
The order mattered more than any single tool. Speed first, so a click had somewhere to land. Tracking second, built before launch and then proven in stages on the live site. Ads third. Two pieces of tracking still arrived after the ads did, and I would rather tell you that than pretend the plumbing was perfect on day one.
The decision I would repeat on day one is writing the source onto the CRM record instead of leaving it in a dashboard. Every weekday from September 10 I checked the CRM against the ad accounts. On September 9 that check found four Facebook form parents the staff had not entered yet, and it flagged later entries when they ran late. A dashboard would have shown me the leads. The check showed me the leads about to fall through.
Ryan is a numbers guy. The school goes into next year's enrollment season knowing that two Google campaigns brought 14 of its 17 Google families, and that the lead form beat website ads by a wide margin. The ads can be turned back on with the same accounts, and the tracking will still be there.
How Do You Know If Your Ads Are Working?
Open a family's record in your CRM and read where they came from. The ad platform's report tells you what the platform saw. Your own record, with the source attached, tells you which families you can call back and which campaign earned its budget. Where the source is missing, you have found the first thing to fix.
Three checks you can run this week: pick ten recent inquiries and count how many carry a source; find where a lead gets typed in by hand; ask who looks at the numbers every week. The three phases of AI implementation start with this kind of visibility, and so does automating lead follow-up.
Want a map of how an inquiry reaches your CRM, with the missing sources and hand-typed steps marked? Start a conversation with Steve at Aperture OS →
Evan Van Dyke is the founder of Aperture OS. He spent seven years running a marketing agency, scaling 100+ businesses, eventually systemizing it to three hours a week, and sold it in 2021. He now builds AI automation systems for business owners. About Evan →
Frequently Asked Questions
Q: How do you know if your ads are working? Open a recent inquiry in your CRM and check whether it carries the ad, campaign, and landing page it came from. Platform reports tell you what each platform saw. Your own record with the source attached tells you which campaign earned its budget.
Q: What does it take to set up ad tracking properly? A tag manager on the site, the analytics and ad platforms connected through it, and the lead source written into your CRM with each inquiry. Then run a test inquiry all the way through before you spend. Expect to fix pieces after launch, and keep a weekly check against the platforms.
Q: Do I need a developer to track my ads? Usually for one step: installing the tag manager and passing the lead source into your CRM. After that, you add most platforms inside the tag manager. The expensive mistake is running ads first and planning to add tracking later.
Q: Why fix site speed before running ads? Because a slow page turns paid clicks into visitors who leave before they inquire. Google's 2016 analysis found 53% of mobile site visits are abandoned when a page takes longer than three seconds to load. Fix the page, then buy the traffic.
Q: How does Aperture OS help with ad tracking? Aperture OS maps how an inquiry reaches your CRM, including where the source goes missing and where staff type leads in by hand. Steve, the AI process mapper, turns that into an implementation plan you can build yourself or hire Aperture to build. See how it works →
