Customers
The Customers feature provides a centralized registry for your users. By linking payments to customer profiles, you unlock unified analytics, personalized communications, and streamlined recurring billing.Creating customers is optional. Payments can be processed without them, but linking payments to customers enables powerful features like lifetime value tracking and automated email workflows.
๐ฏ Why Use Customer Profiles?
| Benefit | Description |
|---|---|
| Unified History | See all payments, subscriptions, and invoices for a single customer in one place. |
| Lifetime Value (LTV) | Automatically track how much revenue each customer has generated. |
| Personalized Workflows | Use customer data in Workflows to send targeted emails. |
| Faster Checkout | Store customer details to pre-fill checkout forms for returning users. |
๐ ๏ธ Creating a Customer
Via SDK
Linking a Payment to a Customer
When creating a payment, include thecustomer_id:
๐ Field Reference
| Field | Type | Required | Description |
|---|---|---|---|
external_id | string | Your internal identifier for this customer (e.g., your database user ID). | |
email | string | Customerโs email address. Used for receipts and workflow triggers. | |
phone | string | Customerโs phone number in E.164 format. | |
name | string | Full name or display name. | |
tags | string[] | Labels for segmentation (e.g., ["vip", "newsletter"]). | |
metadata | object | Attach arbitrary key-value pairs for your own tracking. |
๐ Customer Analytics
The customer profile automatically aggregates:- Total Spent: Sum of all successful payments.
- Payment Count: Number of transactions.
- Last Payment Date: When they last paid.
- Subscription Status: Active/cancelled recurring plans.
๐ Payment Source Tracking
Each payment in a customerโs history includes source information to help you understand where payments originated:| Field | Description |
|---|---|
source | The origin type: payment_link, api, or subscription |
source_id | The ID of the source (e.g., payment link ID, subscription ID) |
source_description | Human-readable name (e.g., payment link title) |
Source Types
| Source | Description | Use Case |
|---|---|---|
payment_link | Payment made through a Payment Link | Track which products/campaigns drive revenue |
api | Payment created directly via the API | Identify programmatic payments |
subscription | Payment from a subscription renewal | Track recurring revenue |
Why Use Source Tracking?
Adding Metadata to Payment Links
When creating a payment link, give it a descriptive name that will appear insource_description:
๐ The external_id Field
The external_id is critical for syncing Reevit with your internal systems.
- What it is: A unique identifier from your database (e.g.,
usr_abc123). - Why use it: When a webhook fires, you can use the
external_idto immediately look up the customer in your database without needing to map Reevit IDs. - Lookup:
GET /v1/customers?external_id=usr_abc123
โ Best Practices
- Always Set
external_id: Use your internal user ID to keep systems in sync. - Use Tags for Segmentation: Apply tags like
churned,active,trialto power analytics and workflows. - Store Contact Info: Providing
emailandphoneenables automated receipt sending and SMS notifications.
๐ Related Resources
Subscriptions
Create recurring billing plans linked to customers.
Payments
Link individual payments to customer profiles.
Workflows
Send automated emails based on customer events.
Webhooks
Get notified when customer data changes.

