Aesthetix CRM's Reporting tools pull together call activity, staff performance, revenue, and ad-tracking data so you can see how your practice is actually performing. Because that data comes from several different sources (your phone system, your calendar, your ad platforms, and your payment processor), the numbers on one report don't always match the numbers on another at first glance. This guide answers the questions our support team hears most often about why reports look the way they do.
Call Reporting and Agent Reporting track calls differently, so it's normal for their totals not to line up exactly.
Call Reporting filters by the phone number that was called or that made the call (for example, a number labeled "Front Desk" or "Max").
Agent Reporting filters by the staff member or agent who handled the call, regardless of which number was used.
A mismatch usually happens because Agent Reporting counts every call tied to that staff member (calls they made or received, plus calls from contacts assigned to them), while Call Reporting only counts calls that came through a specific number. If a call to a number assigned to one staff member is actually answered by someone else, that call shows up differently in each report.
When comparing the two, check which filter each report is applying (a phone number versus a person) before assuming the data is wrong. Note that call counts shown inside your ad platform's own dashboard (such as Google Ads) are not the same as the counts in Call Reporting. To track calls that originate from an ad, you need a number pool set up and its tracking script installed on your website; without that script in place, call tracking from ads will not populate correctly.
If two staff members are comparing the same report and getting different numbers, timezone is the most common culprit. Calls, form submissions, and other time-stamped activity are recorded and displayed based on the timezone in use, so the same event can appear to fall on a different day (or outside a selected date range) depending on which timezone a user is viewing the report in. Before assuming a report is broken, confirm that everyone comparing the data is looking at the same timezone setting.
Revenue on your dashboard and reports is not pulled directly from your payment processor. It's calculated from the monetary value of Opportunities marked WON in your pipelines. That means:
Revenue reflects what a pipeline says was won, not necessarily a payment that has actually been collected.
If an Opportunity's status changes after being marked WON (for example, it's reopened or moved to Lost), it can drop out of revenue and sales totals for a date range that already looked "final."
Ad-platform revenue (Meta/Facebook, Google) shown inside Aesthetix CRM comes from this same Opportunity data, not from the ad platform itself. Getting accurate revenue and Sales counts on an ad report requires the matching conversion workflow to be built and firing correctly.
For full setup steps on connecting ad-platform conversions and building the workflows that populate Sales count and revenue, see the ad tracking setup guides in Ads Manager > Ad Reporting. Attribution basics (first-touch source, how a contact's original channel is determined) are covered in the attribution guide under Essential Guides. This article focuses on why the numbers behave the way they do.
If your Google Ads numbers inside Aesthetix CRM don't match what you expect, it's almost always one of these:
Lead count is 0: Leads are counted when a contact's first attribution is "Paid Search" from Google, carrying both a utm_source=adwords parameter and a Google click ID (gclid). If the tracking script or template isn't installed correctly on your site, or the campaign name doesn't match on both sides (or exceeds 250 characters), leads won't attribute correctly and the count stays at 0.
Sales count is 0: Sales count reflects Google Ad Lead Opportunities that have been marked WON. If the Lead count is 0, or if a matching Opportunity's status is anything other than WON, Sales count will also be 0.
Sales count keeps changing for an old date range: Sales count is based on the date an Opportunity was last moved to WON, not the date the lead originally came in. If an Opportunity is marked WON more than once, or its status is later changed, the count for that older date range can shift.
Google Conversion isn't working: This is usually a missing or misconfigured tracking script or precautionary script on your website, or a mismatch between the data your site sends and what Google Ads expects back.
Full setup instructions for Google Ads tracking live under Ads Manager > Ad Reporting.
Meta Ads Reporting behaves similarly to Google Ads reporting:
Sales count is 0: Sales count only populates once the Lead Event workflow for Facebook conversions is correctly configured. If that workflow isn't set up, or if the Leads count is 0, or an Opportunity's status changes away from WON, Sales count will show 0.
Sales count keeps changing: Same as Google Ads, the count reflects the most recent date an Opportunity was marked WON, so older date ranges can shift if statuses change later.
Contacts repeating across Campaign, Ad Group, and Ad: Leads and Sales are grouped by Campaign Name, Ad Group Name, and Ad Name. If those names are reused across different campaigns or ads, the same contact can appear to repeat in multiple rows. Keep campaign, ad group, and ad names unique to avoid this.
Detailed setup steps for Meta Ads conversion tracking live under Ads Manager > Ad Reporting.
If you're sending email through a custom SMTP integration rather than our built-in sending, the event data you can see is more limited than with native sending:
Events tracked: opened, clicked, replied, and bounced.
Events not available: delivered and unsubscribed are not reported back by SMTP integrations, so you won't see those counts directly.
Why opened and delivered look identical: Because delivered events aren't available via SMTP, the system assumes that if an email was opened, it must have been delivered, and updates the delivered count at the same time. That's why opened and delivered totals often match exactly for SMTP-sent email.
When you send a GA4 event from a workflow, there is currently no way to pass an arbitrary Parameter Name and Parameter Value pair along with that event.
Event Value, which you can set, is simply a number attached to the event representing its significance or monetary worth (for example, the value of a booked consult). It's used by GA4 to help you measure the impact of specific actions against your goals, separate from full custom parameters.
If a staff member's dashboard looks empty or incomplete, check these three things in order:
Permissions: The user's role needs the relevant permission enabled. For example, a user needs contact permissions turned on to see contact-related widgets.
Assigned User setting: If a widget has "Only Assigned User" turned on, that user will only see data tied to records assigned to them. Confirm the right leads, contacts, or opportunities are actually assigned to that person.
Date range: Make sure the date range selected on the dashboard matches the date range used on the page you're comparing against (for example, the Contacts list). A mismatched date range is one of the most common reasons two views of "the same" data don't agree.
Why do two staff members see different numbers on the same report? This is usually a timezone difference. Time-stamped activity like calls and form submissions is displayed based on the viewer's timezone, so the same event can land in a different day or date range depending on who's looking. Confirm both users are viewing the report in the same timezone before troubleshooting further.
Why does a contact's traffic source show as Unknown?
A source shows as Unknown when the system can't capture the tracking details needed to attribute it, such as a missing utm_source parameter or Google click ID (gclid) at the time the contact came in. This typically means a tracking script wasn't installed correctly on the page that generated the lead.
What is an attribution window, and why does it affect my ad reports? Attribution ties a contact back to the channel and campaign that first brought them in, based on tracking parameters captured at that moment. If those parameters weren't captured (a missing script, a mismatched campaign name, or a campaign name over 250 characters), the contact won't attribute to that ad, which shows up as a Lead or Sales count of 0 even though the ad may have worked.
Why does my report look different after I change the date range? Sales and revenue counts are tied to the date an Opportunity was last marked WON, not the date the lead first came in. If an Opportunity's status changes after the fact, it can move in or out of a date range you already checked, so totals for "old" date ranges can still shift.
Why is there sometimes a delay before new activity shows up in reporting? Ad-platform and revenue data depend on workflows and conversion events firing correctly, and some email and ad data is processed in batches rather than instantly. If a number looks off right after an event happens, give it time to sync and confirm the underlying workflow (such as a conversion or Lead Event workflow) is active before assuming data is missing.
What's the difference between Call Reporting and Agent Reporting? Call Reporting filters by phone number; Agent Reporting filters by the staff member who handled the call. A call to a number assigned to one person but answered by someone else will show up differently in each report, which is expected behavior rather than an error.
Why is my Sales count 0 on Google or Meta ad reporting? Sales count only populates once the matching conversion workflow (Google Ads or the Facebook Lead Event workflow) is set up correctly and the Leads count is greater than 0. If the related Opportunity isn't marked WON, or its status changes later, Sales count will read 0.
Why can't a staff member see data on their dashboard widgets? Check three things: that their user role has the relevant permission enabled, that records are actually assigned to them if a widget is restricted to "Only Assigned User," and that the date range on the dashboard matches the date range on the page you're comparing it to.