Contacts vs customers in the Customers page
The All view shows Stripe-synced customers (with MRR, plan, LTV). The Contacts filter shows everyone else — people who have written in but are not in Stripe.
Contacts vs customers
The Customers page now has two flavors of person on it: customers with Stripe-derived data, and contacts without. Same underlying records, different filter views.
The short version
- Customers are people you can correlate to a Stripe customer record. They show up in the All, Paying, Trial, Churned, and Past due filters with full MRR / plan / LTV / payment-status data.
- Contacts are people who have written in (or been imported, or been added manually) but cannot be matched to anyone in your Stripe account. They show in the Contacts filter, with email and conversation count but no billing data.
A given record stops being a contact and starts being a customer the moment Stripe matching succeeds — usually because the email matches, or the customer pays for something for the first time.
Why the split exists
Stripe context is the most-used integration in Ochre. The All view leads with Stripe-synced customers because, for paid teams, those are the people whose conversations matter most: known plan, known MRR, known payment health.
But not everyone who writes in is in Stripe. Free-tier users, prospects, vendors, journalists, ex-customers from before you connected Stripe — they all create end-user records, and they were previously hidden from the default Customers page. The Contacts filter surfaces them.
If you have not been seeing the Contacts pill until recently, that is because we just added it. As of today's release, 148 non-Stripe-synced contacts in your workspace are now visible there (if you have that many). They were always in the database; they were just not on the page.
When to use which view
All: your default. Stripe-synced customers, sorted by MRR by default. The view to scan when you are doing book-of-business work — checking who is at risk, who is high-value, who churned.
Contacts: when you are looking for someone you remember writing in but cannot find in All. Free-tier users, prospects, anyone outside the paid funnel.
Paying / Trial / Churned / Past due: subsets of All that key off Stripe payment status.
Blocked: the email blocklist. See email-blocklist.
What you can do with a contact
Same as a customer:
- Open their profile, see their conversation history.
- Edit name, email, custom fields.
- Block their email or domain via the Block button on the row.
- Send them an email via the Email button.
What you cannot do (because there is no Stripe link):
- See MRR, plan, lifetime value, or payment status.
- Filter by payment status — the contact does not have one.
When a contact becomes a customer
The match happens automatically:
- A new Stripe customer is created with a matching email.
- A Stripe webhook fires for an existing Stripe customer that matches.
- You manually link the records by editing the email or merging.
Once matched, the record moves from the Contacts view to All on the next page load, with a full Stripe block on the customer panel.
When a customer becomes a contact
If you disconnect Stripe, every record that was relying on Stripe data moves back to the contact pool. The records themselves are not lost — only the Stripe-derived fields disappear. Reconnect and they come back.
CSV export
The Export CSV button on the Customers page exports the current filter plus contacts, in two sections of the same file. So an "All" export gives you Stripe-synced customers up top and contacts at the bottom. Useful for handing the file to a finance team that wants the whole book in one go.
Common questions
Why are my numbers smaller than my Stripe customer count? The All view only shows Stripe customers who have actually written into your support inbox (or been imported). Stripe customers who have never asked for help are not in Ochre — there is nothing to show on a customer panel for them.
Can I see contacts in the inbox the way I see customers? Yes. The customer panel renders the same for both — you just see fewer fields for contacts because Stripe is empty.
A specific contact should match a Stripe customer but does not. Email mismatch is the usual cause. Add the Stripe billing email as an alias on the contact, or merge the two records. See customer-merge.
What to do next
- See customer-360 for what shows on the customer panel.
- See stripe-context for the integration that drives the customer half of the split.
- See email-blocklist to block a contact who is actually a spammer.
Was this article helpful?