Sparkforge Reporting FAQs: Calls, Ads, Email, Dashboards

By Sparkforge Support Team ·Last reviewed May 3, 2026

Mismatches between Call vs. Agent reporting, Google/Facebook ad metrics, SMTP email events, and dashboard widgets usually trace back to filter scope, attribution rules, opportunity status, or timezone — not bad data.

Sparkforge reports pull from different sources with different filters. Numbers that look off across reports almost always come from filter scope, attribution rules, or how an opportunity is staged — not lost data.

Call Reporting vs. Agent Reporting

Call Reporting filters by the assigned phone number (for example, the line named "Max"). Agent Reporting filters by the individual user.

Counts diverge because Agent Reporting includes every contact assigned to Max plus any call Max placed or received, while Call Reporting only counts traffic on Max's phone number — which someone else may have answered.

To compare them cleanly: line up the date range, confirm the filters, and remember calls handled outside the named line won't show in Call Reporting.

Why Reports Differ Between Users

Two users in different timezones see action timestamps in their own local time. Date-range filters then capture different sets of events. Standardize on one timezone when comparing exports.

Revenue on Reports and Dashboards

Facebook Ad Reporting revenue

Revenue here pulls from Sparkforge Opportunity data, not from Facebook directly. You need two workflows configured to push lead and conversion data back to Facebook for Sales count and revenue to populate. The same applies to Lead and Sales counts.

Location dashboard revenue

The dashboard shows the sum of Monetary value of WON opportunities. It is not tied to actual payments collected through the integrated payment system.

Google Ads Tracking

Lead count is 0

Sparkforge attributes leads to Google Ads when first attribution is Paid Search, the URL contains utm_source=adwords, and a gclid is present. Missing tracking templates, missing precautionary scripts, or campaign names that exceed 250 characters break the link.

Sales count is 0

Sales count is the subset of Google Ad leads marked WON. If Lead count is 0, or opportunities aren't moved to WON, Sales stays at 0.

Sales count keeps changing for old date ranges

Sales count reflects the date of the last status change to WON. If an opportunity flips in and out of WON, the count moves. Opportunities whose status changes again may drop off the report.

Google Conversion not firing

Confirm the tracking template and precautionary script are installed. Also confirm the data Sparkforge sends matches what Google expects — mismatches silently fail.

Facebook Ad Reporting

Sales count requires a properly configured FB Lead Event workflow. Without it, leads won't tie back to opportunities and Sales will read 0.

Contacts repeating across Campaign, Ad Group, and Ad usually mean those names aren't unique. Make every Campaign, Ad Group, and Ad name distinct.

Email Stats via SMTP Integration

SMTP only reports four events: opened, clicked, replied, bounced. Delivered and unsubscribed events aren't surfaced.

To compensate, Sparkforge backfills delivered when an open fires (an open implies delivery). That's why opened and delivered counts often match exactly on SMTP-sent campaigns.

GA4 Events from Workflows

Workflows can send a GA4 Event but cannot pass arbitrary parameter name/value pairs at this time. Event Value (the numeric significance of the event) is supported.

Why Dashboard Widgets Show No Data

  • Permissions: the user profile must have access to the underlying object (contacts, opportunities, etc.).
  • Only Assigned User: if enabled, the widget shows only records assigned to the viewing user.
  • Date range: the widget date range must match the page date range you're comparing it to.

Frequently Asked Questions

Why do Call Reporting and Agent Reporting show different totals?
Call Reporting filters by phone number; Agent Reporting filters by user. Calls handled by someone else on a named line, or calls a user made on a line not assigned to them, cause the gap.
Why does dashboard revenue not match my Stripe payouts?
Dashboard revenue is the sum of Monetary value on WON opportunities. It is independent of the integrated payment system and does not reflect actual payments collected.
Why is my Google Ads Lead count zero?
First attribution must be Paid Search, the URL must include utm_source=adwords, and a gclid must be present. A missing tracking template, missing precautionary script, or a campaign name over 250 characters breaks the attribution.
Why are SMTP delivered and opened counts identical?
SMTP doesn't report delivered events directly. Sparkforge infers delivery when an open fires, so the two counts often align exactly.
Why do users in different timezones see different totals?
Each user sees timestamps in their local timezone, so date-range filters capture different events. Standardize the timezone before comparing reports.

Was this article helpful?