AON3D Channel Analytics

HubSpot Attribution — New Logo Direct (Direct Sales pipeline, excluding expansion)

Overview HubSpot Google Ads LinkedIn Trade Shows Live Ads

Definitions & Methodology

How data is sourced, classified, and calculated across this dashboard

Overview HubSpot Google Ads LinkedIn

Overview

Cross-channel KPIs and charts shown on the Overview tab.

KPI Tiles

Cohort Funnel Each row is a time bucket (Weekly / Monthly / Quarterly / Yearly) bounded by the global date filter. The table answers "of accounts whose first qualifying touch came in during period X, what happened downstream?"

Cohort anchor. Contact-side columns (Companies / MQL / SQL / Opp) bucket on the qualifying contact event's create date; deal-side columns (Deals / Won) bucket on the deal creator's signup date (ct_cd — the creator contact's own createdate). Both anchors are cohort-aligned: a deal whose creator signed up in Jan 2024 lands in the Jan 2024 row even if the deal itself was created later. Orphan deals (no contact link) fall back to deal create date so they aren't silently dropped.

NLD consistency. Expansion is resolved at the contact level before anything hits the funnel. At each domain, contacts that signed up after that account's first won NLD deal are flagged expansion and excluded from Companies / MQL / SQL / Opp — the same company-history rule that flags deals as expansion. Exception: conglomerate domains (gov/mil/edu TLDs and private multi-division domains with ≥3 distinct company_ids, e.g. boeing.com, lmco.com) keep all contacts.

Bracket N (newN). Primary N = all qualifying domains/deals in the bucket. Bracket newN = strictly new (the domain's lifetime-first qualifying contact lands in this same bucket). The gap N − newN = returning / re-engaged accounts that existed before the period. Bracket is omitted when the two numbers are equal.

Channel filter. The right-sidebar chips narrow Companies / MQL / SQL / Opp to domains whose qualifying event's first-touch source matches, and narrow Deals / Won to deals whose creator's first-touch source matches (ct_src, with fallback to the deal's own ft_src when the creator is unresolved). Paid spend in the CPA columns is not channel-filtered — it's always the full GA + LI total — so filtering shrinks the denominator but not the numerator, and CPAs rise accordingly.
Channel Filter Filters all metrics by the contact's (or deal creator's) acquisition source. The number next to each chip = unique domains with activity via that channel in the current date range. Default: all channels selected except Offline (outbound / imports distort paid-media CPA).

Channel definitions:
Organic Search — unpaid Google / Bing result (branded searches excluded).
Brand Search — searched specifically for "AON3D" or a variant. Awareness signal, not discovery.
Paid Search — Google Ads click (Search + Discovery).
Direct Traffic — no referrer: direct URL, bookmarks, untracked environments (PDFs, email clients, Slack, dark social), non-UTM'd trade-show follow-up.
Offline — no web session: outbound, trade shows, cold calls, imports, rep-created. Drill-down sub-types (contacts only): IMPORT / SALES / CRM_UI / CONVERSATIONS / EXTENSION / INTEGRATION.
Email Marketing — entered via an email campaign link (including HubSpot's own utm_source=hs_email reclassified from Other Campaigns).
Referrals — link from another site (partners, distributors, press, directories).
Social Media — organic click (LinkedIn, X, etc.), no paid spend.
Paid Social — paid social ad click (LinkedIn Ads, Meta).
AI Referrals — click from an AI assistant (ChatGPT, Claude, Perplexity, etc.).
Other Campaigns — UTM-tagged session not matching above. Post-reconciliation this is genuine third-party placements (ieee, 3dprint.com, aniwaa, trace_parts, chatgpt.com, etc.).

Filter mechanics: Companies / MQL / SQL / Opp match on the qualifying contact event's ft_src; Deals / Won match on the creator's ct_src with fallback to the deal's own ft_src. Paid spend in CPA columns is never channel-filtered — only the denominator shrinks, so CPAs rise when you de-select channels.

See the Contact Source Definitions card on the HubSpot tab for the full source reconciliation note.
Companies Unique email domains with at least one qualifying (NLD-consistent) contact event in this bucket and date range. Cells display N (newN): primary N = total qualifying domains; bracket newN = strictly new (the domain's lifetime-first qualifying contact also lands in this bucket). Gap N − newN = returning / re-engaged domains. Bracket omitted when equal.

"Qualifying" contact resolution (applied once per contact at aggregation time, first match wins):
Company-level (division-precise): the contact's primary company_id has a prior won NLD deal at close date Tco → qualifying iff contact.created < Tco. A 2022 contact on "Boeing Defense" stays NLD even after "Boeing Commercial" won in 2019 — they're different company_ids.
Conglomerate exception: no company_id link AND the domain is a gov / mil / edu TLD, or a private multi-division domain (≥3 distinct company_ids observed at the domain — e.g. boeing.com, lmco.com) → all contacts qualify regardless of prior wins.
Domain fallback: the domain has a prior won NLD deal at TD → qualifying iff contact.created < TD.
• No prior win signal → qualifying.

Consumer-email contacts (gmail.com, yahoo.com, etc.) are keyed per contact (_p_<hash>) so unrelated people at different companies don't collapse into one pseudo-domain. Channel filter matches the ft_src of any qualifying event in the bucket.
MQLs Subset of Companies where the domain's max lifecycle stage across NLD (pre-first-win) contacts only reaches Marketing Qualified Lead (rank ≥ 2). Post-win contacts don't count toward the max. Same N (newN) format as Companies — bracket = strictly new (domain's lifetime-first qualifying touch lands in this bucket).
SQLs Subset of Companies where the domain's max NLD-only lifecycle stage reaches Sales Qualified Lead (rank ≥ 3). Same N (newN) format as MQLs.
Opportunities Subset of Companies where the domain's max NLD-only lifecycle stage reaches Opportunity or higher (rank ≥ 4 — Opportunity, Customer, Evangelist). Same N (newN) format as MQLs. This is a cohort-level signal (domain active in window with the right lifetime stage), not an event-level deal count — for pure deal volume see Deals, which can differ in both directions: one domain can produce multiple parallel deals (gov / research labs do this), and deals without any contact link can't surface through the contact-driven Opp path.

Known bias: HubSpot lifecycle stage never rolls back. A domain that once reached Customer stays classified as Opp in any later bucket where a fresh qualifying contact appears.
Total row: unique vs sum The Total row's domain-based counts (Companies, MQL, SQL, Opp) show unique domains across the full date range — a domain active in multiple periods counts once. This is the honest "how many distinct companies did we engage?" number.

Why a raw sum would mislead. If Boeing has a qualifying touch in Jan, Mar, and Jul, the monthly rows show 1 / 1 / 1 — sum = 3. But it's one company. Summing inflates the funnel and produces meaningless CPAs (dividing full-range spend by an inflated denominator). The Total dedupes across all periods in the window.

Hover any Total-row ? to see, for that specific column and date range, four views:
Unique — the primary number shown.
Strictly new — domains whose lifetime-first qualifying touch falls inside the active range.
ReturningUnique − Strictly new, the re-engaged accounts that existed in our records before this range.
If summed per row — what a naive row-sum would produce, plus the inflation gap vs Unique attributable to domains touching multiple periods.

Event-based columns (Deals, Won) show the sum in the Total — each deal is a distinct event, so dedup doesn't apply. Their brackets show the Total of strictly-new event counts.

CPAs in the Total use the unique denominator: cost per distinct company progressed, not per company-period touch.
Deals Count of New Logo Direct deals (Direct Sales pipeline, expansion excluded) bucketed by the deal creator's signup date (ct_cd — the creator contact's own createdate). Orphan deals with no contact link fall back to deal create date so they aren't silently dropped.

Cells display N (newN): primary N = all deals whose creator signed up in this bucket; bracket newN = deals from strictly new accounts (the deal's domain first-ever qualifying contact also lands in this same bucket). Gap = deals from returning / re-engaged accounts. Bracket omitted when equal.

Channel filter applies to the creator's first-touch source (ct_src, with fallback to the deal's own ft_src when the creator is unresolved). Cohort-aligned with Companies / MQL / SQL / Opp — every column in the row answers "of contacts who signed up in period X, how many eventually …?"
Won Subset of Deals that reached Closed Won, bucketed by the same creator-signup cohort rule. A win whose creator signed up in Jan 2024 and closed in Mar 2026 counts in Jan 2024. Cells display N (newN): primary = wins in this bucket; bracket = wins from strictly-new accounts (same rule as the Deals bracket). Bracket omitted when equal. For "wins by close date" see the Pipelines or Deals subpage.
$/Co. Total paid spend (Google Ads + LinkedIn) in the bucket ÷ companies in the same bucket. Denominator is the total Companies count (not the strictly-new bracket). Note: spend is not channel-filtered (paid ad cost is always fully attributable to its channel), but the Companies denominator is — so selecting a channel shrinks the denominator without shrinking the numerator, and CPA rises accordingly. Read $/Co. as "what did we pay in total for every company we touched this period."
$/MQL Total paid spend in the bucket ÷ MQL count. Same denominator rules as $/Co. — channel filter affects denominator only.
$/SQL Total paid spend in the bucket ÷ SQL count. Same denominator rules as $/Co.
$/Opp Total paid spend in the bucket ÷ Opportunity count. Same denominator rules as $/Co.
$/Deal Total paid spend in the bucket ÷ NLD deals with creator-signup in that bucket (same denominator as the Deals column). Channel filter affects the denominator only; spend is not channel-filtered.
RFQ + Sales Inquiry Count of contacts (not domain-deduped) whose first conversion event in HubSpot was either a RFQ or Sales Inquiry form submission, with contact create date in the selected range. First-touch only — later RFQs from the same contact are not counted.
Buyers Guide Downloads Count of contacts whose first conversion event was a Buyers Guide download, with contact create date in the selected range. First-touch only.
Total Paid Spend Sum of Google Ads + LinkedIn Ads + Meta (Facebook/Instagram) Ads spend within the selected date range. Not affected by the channel filter — paid spend is always attributable to its source channel regardless of which contact-source chip is selected.

Charts & Tables

Contact Volume & CPA Trailing 12 months, independent of the global date filter. Bars = count of domains with at least one qualifying (NLD-consistent, non-expansion) contact event that month — domain-deduped per month: a domain active in both Jan and Mar contributes 1 to each month, not carried forward. This is NOT the "strictly new" lifetime-first rule used by the Cohort Funnel's bracket — it's the monthly activity footprint, which matches the funnel's primary Companies count per row. Line = blended CPA (GA + LI spend that month ÷ bars). The trailing-12m average in the panel header uses the same numerator / denominator.

Offline is excluded when no channel filter is active (outbound / imported contacts inflate volume without reflecting paid acquisition). Selecting Offline via the channel chips explicitly re-includes it. Spend is never channel-filtered.
Deal Volume & CPA Trailing 12 months, independent of the global date filter. Bars = NLD deal count bucketed by the creator's signup date (ct_cd, orphan fallback to deal create date) — same cohort rule as the funnel table's Deals column, not the deal's own create month. Line = Deal CPA (GA + LI spend that month ÷ deals-with-creator-in-month). Channel filter applies to creator's first-touch source (ct_src); spend is not channel-filtered.

Stale-orphan suppression: When a deal has no eligible creator contact (none within 365 days before deal create) and the deal-level Original Source matches only contacts older than 365 days at the domain, the source attribution is dropped (treated as Unknown). This prevents a 4-year-old paid-search click from being credited to the current cohort just because the same account opened a new deal. Deals where a fresh same-campaign contact exists at the domain — even if not formally associated with the deal — keep their attribution.

Paid Search bucket purity: HubSpot tags every Google Ads click as hs_analytics_source=PAID_SEARCH regardless of network (Search / Display / YouTube / PMax / Demand Gen). To keep the Paid Search chip strictly Google Search non-brand, the classifier drops any campaign whose name contains display, (d), youtube, (yt), remarketing, pmax, performance max, demand gen, or video → those route to Other Campaigns instead. Brand campaigns (name contains brand without an (nb) / non-brand / nonbrand qualifier) route to the separate Brand Search chip. Net result: the Paid Search chip is Search-network, non-brand only.
Pipeline Generated Trailing 12 months, independent of the global date filter. Bars = sum of NLD deal Amount (Direct Sales, expansion-excluded), one bar per month. Bucketing rule and channel filter are identical to Deal Volume & CPA above: cohort-aligned on the creator's signup date (ct_cd) with orphan fallback to deal create date; channel filter on creator's first-touch source (ct_src). Single-metric chart — no CPA line. Headline shows the trailing-12m average per active month. Designed to mirror HubSpot's native "Paid Advertising Pipeline Generation" chart for sanity-check (note: HubSpot's chart buckets on deal create date, not cohort — small divergence expected on months where signup ≠ deal-create month).
Campaign Spend Table of paid campaigns (Google Ads + LinkedIn + Meta) grouped by classified category for the selected date range. All standard rows are campaign-level — one row per campaign per channel. Channel badges: GA = Google Ads, LI = LinkedIn, M = Meta (Facebook/Instagram).

LinkedIn uses its campaign group as the rollup key — LinkedIn's internal "campaign" entity is actually ad-group-level, so e.g. US_website-visitors-last-90d (sponsored content) and US_website-visitors-last-90d_inmail roll into a single row labeled with the group name.

Campaigns are classified by name in this order — first match wins:
Remarketing — name contains "remarketing" or contains both "website" and "visit" (catches LinkedIn's "Website Visitors" naming).
Awareness — name contains "awareness".
Conversion — Google Ads campaigns on the SEARCH channel not already classified above.
Other — everything else (typically LinkedIn non-remarketing, Discovery, Performance Max, etc.).

Trade Shows is built from ad-level filtering across all three channels — the filter scans every Meta ad name, LinkedIn creative name, and Google Ads ad name. Matching ads are extracted out of their parent campaign's rollup and shown as their own row under Trade Shows, labeled with the ad/creative name. The parent campaign row then shows non-Trade-Show spend only — so a TCT creative inside a generic remarketing campaign doesn't inflate the Remarketing total.

Trade Shows definitions (extensible — new identifiers will be added incrementally):
• ad / creative name contains "tct" (case-insensitive substring — matches RAPID_TCT_2026, Rapid_TCT_2026, TCT_lead_v2, etc.)
Monthly Spend Trailing 12 months: combined paid spend per month across every channel the dashboard loads (currently Google Ads + LinkedIn + Meta), all in CAD — LinkedIn's USD spend is converted to CAD at the Bank of Canada daily rate so the channels are summable. Single bar per month — total only, not stacked. Channels missing data (e.g. before Meta was wired up in May 2026) simply contribute zero. Independent of the channel-filter chips.

HubSpot

Attribution, deal mechanics, and source classification used on the HubSpot tab.

KPI Tiles (HubSpot tab)

Deals Created Count of all deals created in the selected date range, within the active pipeline scope (NLD). Includes Won, Lost, and Open deals. Filtered by deal create date.
Contacts Created Count of all contacts created (not domain-deduped) in the selected date range. Each contact record counted once, regardless of whether other contacts from the same company were already in HubSpot.
Total Contacts Count of contact records created in the selected date range. Same measure as Contacts Created — presented on the Contacts subpage for focus.
Total Deals Count of deals created in the selected date range, within the active pipeline scope. Same measure as Deals Created — presented on the Pipelines subpage.
Open Deals Count of deals created in the selected range that are still genuinely in pipeline — stage is not Closed Won or Closed Lost, AND the close date is today or later. Stale "open" deals with a past close date (or no close date) are auto-reclassified as Lost and excluded from this count.
Closed Deals Count of deals created in the selected range that have resolved — Closed Won + Closed Lost combined (after the same stale-open reclassification). This is the denominator behind Win Rate.

For Win Rate and Won Revenue tiles see the cards below.

Charts & Panels (HubSpot tab)

Deals (funnel) Deal stage funnel for deals created in the selected range. Shows count of deals that reached each stage group (Early / Mid / Late / Closed). Progression-based — a deal that made it to Late is also counted in Early and Mid. Accompanied by source attribution breakdown.
Leads (funnel) Lifecycle-stage funnel for contacts created in the selected range. Shows count of contacts who ever reached each stage (Lead / MQL / SQL / Opportunity / Customer). Cumulative — a contact that reached SQL also counts in Lead and MQL.
Monthly Deal Volume Total deals created per calendar month, trailing 12 months. No source split — one bar per month showing total count.
Monthly Contact Volume Total contacts created per calendar month, trailing 12 months. Not domain-deduped.
Deal Source Trend Monthly deal creation volume stacked by deal source channel, trailing 12 months. Uses the deal's Original Source property — see Deal Source Definitions card.
Contact Source Trend Monthly contact creation volume stacked by contact source channel, trailing 12 months. Uses the contact's Original Source property — see Contact Source Definitions card. Applies the source reconciliation logic.
Source Detail Breakdown Drill-down panel that appears when a source is clicked in the Contacts by Source chart. Shows a second-level split (e.g., Offline → IMPORT / SALES / CRM_UI sub-types).
Source Drill-Down Drill-down panel on the Deals and Pipelines subpages. Click a source in Deals by Source to see per-stage breakdown and optional attribution-model toggle.
Form Submissions Breakdown of first-touch form categories for contacts in the selected range (e.g., RFQ, Sales Inquiry, Buyers Guide, Webinar). Each contact counted once by their first conversion event. On the Deals subpage, the measure is the first-touch form of the deal's primary contact.
Revenue by Source Won revenue and average deal size, grouped by deal source channel. Sum of deal amount for Closed Won deals in the selected range, divided into bars per source.
Monthly Deal Creation Trend Monthly deal volume stacked by deal source channel. Differs from Monthly Deal Volume (total count, no split) by showing the source mix over time.
Deals by Source Deal counts split Won / Lost / Open per source channel, with win rate as an overlay line. Shows both volume mix and conversion quality side-by-side.

Data Scope

NLD New Logo Direct. All metrics cover only the Direct Sales pipeline, with expansion deals excluded. This isolates first-time customer acquisition from repeat purchases by existing customers.
Expansion Deals where the buying company already owns at least one AON3D machine. Excluded from all counts here because they measure growth within the existing customer base, not new logo acquisition.

Date Basis

Create date Every metric — deals, contacts, win rate, revenue — is filtered by create date (the date the record was added to HubSpot), not close date or activity date.
Date range The range selector in the header sets the create-date window. A deal created in the window is counted even if it closes outside of it.

Win rate and revenue for open deals are tracked as they progress — selecting a narrow window reflects the cohort created in that period, not just what closed in it.

Win Rate & Revenue

Win Rate (cohort) Primary value: Won ÷ (Won + Lost) for deals with create date in the selected range (cohort view). Open deals are excluded from the denominator.

Closed-in-window: Same ratio but filtered by close date — deals actually resolved during the window, regardless of when they were created. Use this for operational "what did we close" questions. The two numbers diverge on short windows (30d, 90d) because sales cycles typically exceed the window — most recently-created deals haven't resolved yet.
Won Revenue (cohort) Primary value: Sum of deal amount for Closed Won deals with create date in the selected range. Answers "of the deals we generated in this window, how much revenue did they produce?" — the attribution question.

Closed-in-window: Sum of deal amount for deals closed in the window, regardless of when created. Matches the WON column on the Sales tab. On 30d/90d windows the cohort value is often $0 because deals created that recently haven't closed yet; the closed-in-window value shows actual period revenue.

Deal Classification

Won Deal reached Closed Won stage. Counts toward won revenue.
Lost Deal reached Closed Lost stage.
Open Deal is active in any pre-close stage (Early, Mid, or Late). Excluded from win rate calculations.

Deals in Inactive or On Hold are excluded from all stage counts — these are parked deals, not active pipeline.

Deal Stage Groups

Early Lead Registration
Discovery & Assessment
Mid Specific Interest
Pilot / Presentation
Late Formal Evaluation
Explicit Intent
Verbal Closed
Closed PO Received
Closed Won / Closed Lost

Contact Source vs Deal Source

Contact source The Original Source property on the contact record — set once when the contact first entered HubSpot and never overwritten. Used in all contact-level charts (Stage Reached, Contacts by Source). Reflects how that person was first acquired.
Deal source The Original Source property on the deal record itself — set when the deal was created in HubSpot. Used in Deals by Source and Deal Source Trend charts. This is a separate property from the contact source and can differ: a contact created via Offline two years ago may create a deal via Direct Traffic when they return to the site.

For contacts who fill out a form and create a deal in the same session, the two values are usually identical. Divergence is common for deals created by sales reps on behalf of contacts who were already in CRM — in those cases, the deal source reflects the rep's session or HubSpot's system default, not the original acquisition channel. Multi-touch attribution is not used.

Contact Source Definitions

This dashboard applies a source reconciliation pass that is not present in HubSpot's native reports. Contact counts by source will differ from what you see in HubSpot directly — see the reconciliation note at the bottom of this section.

Organic Search Visited the site from an unpaid Google or Bing search result. Does not include branded searches (e.g. "AON3D").
Brand Search Searched specifically for "AON3D" or a variant. Indicates the contact already knew the brand before their first tracked visit. Reported separately from organic search because it reflects awareness, not discovery.
Paid Search Clicked a Google Ads result. Includes Search and Discovery campaigns. The contact's first session was driven by paid intent.
Direct Traffic Visited with no referring source — direct URL entry, bookmarks, or untracked environments (PDFs, email clients, Slack, dark social). Also includes trade show follow-up visits that were not UTM-tagged.
Offline Contact created with no web session tracked — outbound prospecting, trade shows, events, cold calls, partner introductions, or programmatic import. HubSpot records how the contact was added via a drill-down field: IMPORT (bulk list import, e.g. trade show badge scans), SALES (rep created manually), CRM_UI (created directly in HubSpot), CONVERSATIONS (from email or chat inbox), EXTENSION (Chrome extension during prospecting), INTEGRATION (API or third-party sync). Also includes contacts reclassified from Other Campaigns — see reconciliation note below.
Email Marketing Contact entered HubSpot via an email campaign. Also includes contacts reclassified from Other Campaigns where HubSpot's own email links used utm_source=hs_email — a value HubSpot does not self-identify as Email Marketing — see reconciliation note below.
Referrals Arrived via a link on another website — partner sites, distributors, press coverage, or industry directories.
Social Media Organic social media click (LinkedIn, Twitter/X, etc.). No paid spend attributed.
Paid Social Clicked a paid social ad (LinkedIn Ads, Meta, etc.).
Other Campaigns UTM-tagged sessions where the source doesn't map to a standard channel. After reconciliation, this reflects genuine third-party placements only: ieee / newsletter, 3dprint.com / banner, aniwaa, trace_parts / cnp_newsletter, chatgpt.com, and similar. HubSpot's native report shows a much larger number — the difference is contacts reclassified to Offline and Email Marketing.

Source reconciliation. HubSpot defaults contacts created via API or third-party integrations to Other Campaigns even when no web session or UTM exists. This dashboard corrects two cases: (1) contacts with Other Campaigns original source, no UTM data, and Offline latest source are reclassified to Offline — these are prospected or imported contacts; (2) contacts with Other Campaigns original source and Email Marketing latest source are reclassified to Email Marketing — these arrived via HubSpot email links that used utm_source=hs_email, which HubSpot does not recognise as its own platform. This logic runs automatically on every data refresh.

Deal Source Definitions

Organic Search Deal created in a session originating from an unpaid Google or Bing search result.
Brand Search Deal created in a session where the contact searched specifically for "AON3D" or a variant.
Paid Search Deal created in a session driven by a Google Ads click.
Direct Traffic Deal created with no referring source — direct URL entry, bookmarks, or untracked environments. The most common deal source; also includes rep-created deals where HubSpot assigns the rep's own session as the source.
Offline Deal created manually by a rep with no web session on the deal record. HubSpot does not provide a drill-down sub-type for deal records — unlike contact records, there is no IMPORT / SALES / CRM_UI breakdown available at the deal level.
Email Marketing Deal created in a session that originated from an email campaign link.
Referrals Deal created in a session arriving via a link on another website — partner sites, distributors, press coverage, or industry directories.
Social Media Deal created in a session arriving from an organic social media click (LinkedIn, Twitter/X, etc.).
Paid Social Deal created in a session driven by a paid social ad click (LinkedIn Ads, Meta, etc.).
Other Campaigns Deal created in a UTM-tagged session that doesn't map to one of the above categories.

Google Ads

Metrics and dimensions used on the Google Ads tab. Data pulled daily from the Google Ads API (CID 1781186858).

KPI Tiles

Cost Total Google Ads spend in the selected date range. Sum of daily campaign cost across all active and paused campaigns in the account.
Conversions Count of Google Ads conversions attributed to clicks in the selected date range. Uses the primary conversion action set in Google Ads (currently: form submissions and phone calls). Fractional values possible when cross-device or data-driven attribution models assign partial credit.

Charts & Panels

Contacts & CPA Trend Weekly count of HubSpot contacts whose first-touch source was Paid Search (bars), paired with Contact CPA (line) = Google Ads spend ÷ contacts that week. Scoped to the US Industrial 3D Printers campaign, starting 22 Dec 2025.
Search Lost Top IS (Rank) Percent of top-of-page impressions lost due to Ad Rank (quality × bid). A high value means competitors out-ranked AON3D for queries where the ad was eligible — signals either bid too low or Quality Score too low. Weekly spend shown as bars for context.
Opportunities & Opp CPA Trend Weekly count of contacts from Paid Search who reached Opportunity stage (bars), paired with Opportunity CPA (line) = Google Ads spend ÷ Paid Search opps that week. Measures mid-funnel efficiency, not just top-funnel cost. Scoped to US Industrial 3D Printers campaign from 22 Dec 2025.
Campaign Performance Google Ads metrics by campaign for the selected date range: cost, impressions, clicks, CTR, CPC, conversions, and CPA. One row per campaign. Sortable by any column.

LinkedIn

Metrics and dimensions used on the LinkedIn tab. Data pulled daily from the LinkedIn Ads API (ad account 507247222, org 10902156).

KPI Tiles

Spend (CAD) Total LinkedIn Ads spend in the selected date range, in CAD. Sum of daily cost across all campaigns in the ad account. The LinkedIn account bills in USD; each day's spend is converted USD→CAD at the Bank of Canada daily rate for that date (weekend/holiday dates carry the last business-day rate forward), so it lines up with Google Ads and Meta (both CAD).
Impressions Total ad impressions served in the selected date range. One impression is counted each time an ad is rendered in a user's feed or column, whether scrolled into view or not.
Clicks Total clicks on LinkedIn ads in the selected date range. Includes clicks on the ad image, headline, CTA button, and any trackable link within the ad unit.
CTR Click-through rate: Clicks ÷ Impressions. Expressed as a percentage. LinkedIn feed-ad benchmark is ~0.3–0.5% for B2B industrial targeting.
Conversions Count of LinkedIn-attributed conversions in the selected date range. Uses the conversion actions defined in LinkedIn Campaign Manager (form submissions, page visits with Insight Tag, etc.).
Leads (form) Count of Lead Gen Form submissions completed within LinkedIn (not redirected to the website). Subset of total conversions — this is the native in-platform lead capture mechanism.

Charts & Panels

Monthly Spend & Clicks Monthly LinkedIn spend in CAD (bars, left axis) paired with click volume (line, right axis). Shows whether incremental spend is buying proportional engagement or whether CPC is drifting.
Campaign Performance LinkedIn Ads metrics aggregated per campaign over the selected date range: spend, impressions, clicks, CTR, conversions, and CPA. One row per campaign. Sortable by any column.
Organic Posts List of recent organic posts from the AON3D company page, most recent first. Shows content cadence only — post-level engagement stats (impressions, reactions, comments) are not available at the current API scope.