
Filter advice looks simple until real equipment enters the picture. Cabinet dimensions vary, replacement intervals depend on operating conditions, and performance can change while a filter is in service. ACHR News recently highlighted Purdue University research showing that HVAC filter performance changes significantly over time, affecting particle capture, energy use, and replacement decisions. That makes real-world filter performance a useful editorial subject. It also makes filter content a good test case for measuring whether practical education creates actual service demand.
Homecomfortdispatch.com currently has 2,709 pageviews and 1,079 visitors recorded, alongside 2,631 AI crawls and 1,298 search crawls. Those numbers establish activity, not business impact. There are no recorded assists, CRM records, search queries, or growth history. A crawler count cannot be treated as a homeowner, and a pageview cannot be treated as a booked job.
Start with a durable campaign identity
Every article should receive a stable content ID that survives title edits and URL changes. Store the publication date, section, topic, equipment type, intended reader, and primary action. For this filter example, useful classifications might include filtration, replacement, airflow, maintenance, and service diagnosis.
Links leaving the article need consistent UTMs. At minimum, record utm_source, utm_medium, utm_campaign, and utm_content. The content value should identify the article and link position, such as filter-performance_body-cta. Do not reuse one generic campaign value across dozens of pages. That makes reporting easier initially and nearly useless later.
Destinations should match reader intent. A maintenance article might point toward scheduling an HVAC assessment, comparing filter options, or reviewing coverage for home systems and appliances. Each destination needs its own event name and content identifier.
Define Pulse events before publishing
Pageview tracking is only the first rung. Configure Pulse to record article_view, engaged_read, internal_link_click, service_cta_click, form_start, form_submit, phone_click, and appointment_confirmed where those actions are technically observable.
Attach the same core properties to every event: content ID, landing page, original UTMs, session ID, anonymous visitor ID, device class, and timestamp. An engaged_read should have a written rule, such as a defined combination of active time and scroll depth. Whatever threshold the team selects, keep it consistent and document changes. Otherwise, month-to-month movement may reflect a revised definition instead of stronger reader behavior.
Carry the source into the CRM
A form submission should preserve first-touch source, latest-touch source, landing content ID, conversion content ID, campaign, and click identifier. Hidden form fields can transport those values, but they need to be tested on mobile, after cookie expiration, and across any scheduling platform or embedded form.
The CRM should also separate raw inquiries from meaningful pipeline stages. A workable sequence is new inquiry, contacted, qualified, estimate scheduled, estimate delivered, won, lost, and completed. Define the entry condition for every stage. For example, estimate scheduled should require an actual appointment record, not a salesperson moving a card to tidy the board.
Revenue joining requires a shared key between the analytics record, form record, CRM contact, opportunity, and invoice. Prefer generated IDs over matching by name or email alone. Report booked revenue and collected revenue separately, and retain refunds or cancellations. This is the operating core of a closed-loop demand system for home-service firms.
Run one monthly audit
Once a month, open the article on a clean browser and complete the path like a homeowner. Confirm UTMs persist, Pulse events fire once, hidden fields populate, the CRM creates the correct source record, stage rules work, and the invoice can join back to the originating content ID.
Then reconcile counts from analytics through forms and CRM. Investigate sudden zeroes, duplicate submissions, self-referrals, crawler inflation, missing source values, and opportunities without revenue keys. Keep an audit log with the date, defect, owner, and correction.
The immediate goal is not to claim that 2,709 pageviews produced revenue. It is to build the instrumentation that can eventually show which filter questions create qualified conversations, which articles assist later visits, and which jobs produce collected revenue. Until those joins exist, traffic remains evidence of distribution, not proof of demand.