> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Contact Properties Missing vs Ecom Data, HubSpot

> Contact Properties Missing vs Ecom Data: count of HubSpot contacts that have real ecom purchase history but are missing core CRM properties like name, lifecycle stage, or lead status. A sync gap to fix.

**Card class:** [Cross-Channel](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Email Marketing](/nerve-centre/connectors#connectors-by-type)

> Count of HubSpot contacts that have real ecom purchase history but are missing core CRM properties like name, lifecycle stage, or lead status. A sync gap to fix.

## At a glance

> Contact Properties Missing vs Ecom Data counts contacts that exist in HubSpot and have a real commerce purchase history, yet are missing the core CRM properties that make a contact usable: a name, a lifecycle stage, a lead status. These are email-only ghost records, often created by a checkout or newsletter sync that captured the address but none of the enrichment. A buyer with no lifecycle stage cannot be segmented, cannot be reported on in the funnel, and cannot be reliably targeted by workflows. The card sizes the population so the team can decide whether to enrich, re-sync, or fix the integration that is writing thin records.

|                                   |                                                                                                                                                                                                                                                                                                            |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**                | The count of HubSpot contacts that have associated commerce-order history but are missing one or more designated core properties (typically name, lifecycle stage, and lead status). The drill-down lists each contact with its email, which core properties are blank, and its ecom order count or value. |
| **Core-property set**             | Which properties count as "core" is configurable in the profile. The default set covers name, lifecycle stage, and lead status, the fields without which a contact cannot be segmented or funnel-reported.                                                                                                 |
| **Ecom-match basis**              | A contact is considered to have ecom history when its email matches a commerce-platform customer with at least one order. Match is by email, with company-domain as a secondary check where applicable.                                                                                                    |
| **Why email-only records appear** | Common sources: a checkout sync that writes only the email, a newsletter signup that never enriched, a CSV import of buyers without profile fields, or an integration mapping that dropped the name and stage fields.                                                                                      |
| **Cross-channel nature**          | This is a HubSpot-times-commerce card. It only fires for contacts that are buyers on the store side but thin on the CRM side, which is why it sits in the Revenue at Risk category.                                                                                                                        |
| **Currency**                      | `number` (count of contacts); the drill-down can show associated ecom value.                                                                                                                                                                                                                               |
| **Time window**                   | `RT` (real time). Refreshes as contacts and orders sync.                                                                                                                                                                                                                                                   |
| **Alert trigger**                 | More than 100 contacts that are buyers but hold an email-only profile.                                                                                                                                                                                                                                     |
| **Roles**                         | owner, marketing, engineering. Marketing loses segmentation reach; engineering owns the sync writing thin records; the owner sees it as data-quality debt that depresses targetable audience.                                                                                                              |

## Calculation

Calculated automatically from your HubSpot data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

A fast-growing DTC supplements brand on Marketing Hub Professional with a Shopify Plus storefront. The checkout pushes buyer emails into HubSpot, but a misconfigured field mapping never carried the name or set a lifecycle stage. Reading on 18 May 26.

The card reads 1,840 buyers with email-only profiles. The drill-down by gap:

| Gap pattern                            | Contacts | Have ecom orders | Read                               |
| -------------------------------------- | -------- | ---------------- | ---------------------------------- |
| Missing name + lifecycle + lead status | 1,210    | Yes, all         | Checkout sync wrote email only     |
| Missing lifecycle stage only           | 430      | Yes              | Imported buyers never staged       |
| Missing name only                      | 200      | Yes              | Newsletter capture before purchase |

What this exposes:

1. **The 1,210 fully-thin records are the integration bug.** All three core fields blank on contacts that have placed orders points straight at the checkout sync field mapping. Fixing the mapping stops the bleed; a back-fill re-sync recovers the existing records.
2. **These buyers are invisible to the funnel.** With no lifecycle stage, none of the 1,840 appear as customers in Contact Lifecycle Stage Distribution. The funnel under-reports customers by 1,840, which makes every downstream conversion rate look worse than reality.
3. **Marketing cannot segment or personalise to them.** No name means no first-name personalisation; no lifecycle stage means they fall out of customer-only or VIP segments. A post-purchase upsell workflow keyed on lifecycle = customer will skip all 1,210.
4. **The 430 missing-stage-only records are a quick win.** They have names and just need staging. A workflow that sets lifecycle to customer when an associated order exists clears them.
5. **The fix has two halves.** Stop the source (correct the checkout field mapping so new buyers arrive complete) and clean the backlog (enrich and stage the existing thin records). Doing only the backlog leaves the bug to refill the pile.

Illustrative numbers only.

## Sibling cards merchants should reference together

This is a data-quality card whose damage shows up in segmentation and funnel cards. Pair it with these:

| Card                                                                                                           | Why pair it with Contact Properties Missing vs Ecom Data                                                                                                                     |
| -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Top Customers Without HubSpot Contact](/nerve-centre/kpi-cards/hubspot/top-customers-without-hubspot-contact) | The harder-edge sibling: buyers with no CRM contact at all. This card is buyers with a thin contact; that one is buyers with none. Together they bound the sync-quality gap. |
| [Lifecycle Stage vs Ecom Revenue](/nerve-centre/kpi-cards/hubspot/lifecycle-stage-first-purchase-conversion)   | The revenue-impact view. Thin records with no stage are exactly the contacts that distort lifecycle-versus-revenue reconciliation.                                           |
| [Contact Lifecycle Stage Distribution](/nerve-centre/kpi-cards/hubspot/lifecycle-stage-distribution)           | The under-count this card explains. Missing-stage buyers are absent from the customer bucket, deflating the distribution.                                                    |
| [Total Contacts](/nerve-centre/kpi-cards/hubspot/total-contacts)                                               | The denominator. Email-only buyers as a share of all contacts is the data-completeness ratio.                                                                                |
| [New Contacts (period)](/nerve-centre/kpi-cards/hubspot/new-contacts)                                          | The inflow check. If new thin records keep arriving, the source sync is still broken.                                                                                        |
| [Segments Overview](/nerve-centre/kpi-cards/hubspot/segments-overview)                                         | The reach impact. Thin records silently shrink every property-based segment they should belong to.                                                                           |

## Reconciling against HubSpot

**Where to look in HubSpot:**

HubSpot can surface contacts with blank properties via a filtered view, but it has no native concept of "buyer with a thin profile" because order history lives on the store side. The closest native approaches:

> [HubSpot → CRM → Contacts](https://app.hubspot.com/contacts) filtered to a core property (for example Lifecycle stage is unknown / empty). This finds blank-property contacts but cannot, on its own, restrict to buyers.
> [HubSpot → CRM → Lists](https://app.hubspot.com/lists) to save the blank-property filter as an active list.
> [HubSpot → Settings → Integrations](https://app.hubspot.com/settings) to inspect the commerce-sync field mapping that should be writing the missing properties.

The merchant traditionally finds this by exporting blank-property contacts and exporting store buyers, then intersecting them by hand; this card maintains that intersection continuously.

**Why our count may differ from a HubSpot filter:**

| Reason                           | Direction       | Why                                                                                                                                                                               |
| -------------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Buyer restriction**            | Our count lower | HubSpot's blank-property filter counts all empty-property contacts, including non-buyers; we count only those with matched ecom history, which is a smaller, more actionable set. |
| **Core-property set definition** | Either          | Which fields count as core is configurable; a different definition changes which contacts qualify as thin.                                                                        |
| **Email-match precision**        | Our count lower | A buyer whose store email differs from the contact email is not matched, so a real thin buyer can be missed by the cross-channel join.                                            |
| **Time zone**                    | Marginal        | Order-creation timestamps align to the store time zone; contact creation aligns to the portal; edge-case recency reads can differ slightly.                                       |
| **Filter scope**                 | Variable        | Profile-level filters can narrow our view relative to an all-contacts HubSpot list.                                                                                               |

**Cross-connector reconciliation:**

This card is itself the cross-connector view (HubSpot contact completeness times commerce buyer history). The natural triangulations:

| Card                                                                                                           | Expected relationship                                                                                                           | What causes legitimate divergence                                                                                                              |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| [Shopify Total Revenue](/nerve-centre/kpi-cards/shopify/total-revenue)                                         | The thin records hold real ecom value; their summed order value is revenue that the CRM cannot segment or attribute.            | Buyers with no HubSpot contact at all (not just a thin one) hold value Shopify counts and this card cannot, since there is no contact to flag. |
| [Top Customers Without HubSpot Contact](/nerve-centre/kpi-cards/hubspot/top-customers-without-hubspot-contact) | Thin-contact buyers (here) plus no-contact buyers (there) together equal the full set of buyers the CRM cannot properly act on. | A buyer can move from the no-contact card to this one once a thin contact is created for them, shifting the count between the two.             |

## Known limitations / merchant FAQs

**Why do we even have contacts with no name but real orders?**
Almost always a sync that captured the email and nothing else. Checkout integrations, newsletter popups, and quick CSV imports frequently write the address while dropping or never mapping the name and lifecycle fields. The record is real, it is just thin.

**Is this the same as buyers with no HubSpot contact at all?**
No, it is the next layer in. This card is buyers who do have a contact record but the record is missing core properties. The Top Customers Without HubSpot Contact card is buyers with no contact whatsoever. Fixing both is how you get a complete, segmentable customer base.

**Why does this matter if the buyer is in HubSpot anyway?**
Because a contact with no lifecycle stage is invisible to the funnel, falls out of customer-only segments, and is skipped by workflows that branch on stage. The buyer is technically present but practically unreachable for most marketing actions.

**Can a workflow fix the missing properties automatically?**
Partly. A workflow can set lifecycle stage to customer when an associated order exists, which clears the missing-stage cases. It cannot invent a name that was never captured; that requires enrichment or a re-sync from the source that holds the name.

**The count keeps growing even after we cleaned it. Why?**
Because the source sync is still writing thin records. Cleaning the backlog without fixing the field mapping means new buyers keep arriving incomplete. Fix the integration first, then back-fill.

**Does this card modify any contacts?**
No. It is read-only. It identifies thin buyer records; enriching or staging them is a manual action or a workflow you build.

**Why is the alert set at 100?**
A hundred email-only buyers is the point where the segmentation and funnel distortion becomes material for most merchants. A very large store may want a higher threshold; a small one cleaning up may want a lower one. Tune it in the Sensitivity tab.

**Action playbook:**

1. Open the drill-down and group by which properties are missing.
2. Diagnose the source for the largest group, usually a checkout or import sync with a broken field mapping.
3. Fix the source mapping so new buyers arrive complete; this stops the pile growing.
4. Back-fill the backlog: a workflow can set lifecycle stage from order history; names may need an enrichment pass or re-sync.
5. Re-check Contact Lifecycle Stage Distribution afterward; the customer count should rise as thin records get staged.

***

### Tracked live in Vortex IQ Nerve Centre

*Contact Properties Missing vs Ecom Data* is one of hundreds of KPI pulses Vortex IQ tracks across HubSpot and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
