Overview
Phase 4 turns your Phase 3 plan into concrete schemas. You define how your data maps to Reach’s system through flexible schema definitions that match your existing data structure—no transformation required.The Two-Part Process
1
Defining schemas
You define schemas that describe your data exactly as it exists in your system, and map the fields Reach needs.
2
Sending data
Historical import followed by ongoing sync (covered in Phase 5)
This is self-service — you create schemas, map fields, and send data through the partner UI or API without waiting on us. During onboarding we’ll review the model with you before go-live. If you haven’t yet, read How Reach models your data first; the Custom Schemas reference has the full JSON format.
Schema Creation Process
Step 1: Start from your real data
Use example JSON objects of your customer, transaction, and other important business records as they exist in your system as the basis for the schemas you’ll define. Don’t reshape your data to fit ours — the schema describes your structure as-is.- Customer Example
- Transaction Example
- Location Example
Send real examples from your database—not idealized versions. Include all fields, even optional ones.
Step 2: Define custom schemas
Create a schema for each record type. Each schema accepts your exact structure and is assigned a category: Schema Categories:contacts_schema: Customer/contact recordstransactions_schema: Transaction/billing recordslocations_schema: Location/address records- Additional schemas: Custom schemas as needed for your business model
$ref references between schemas, and PII annotations.
Step 3: Map critical fields
In each schema mapping, identify which fields serve key purposes:- Customer Mappings
- Transaction Mappings
- Location Mappings
Customer Schema Mappings:
- Which field is the email? →
email - Which field is the phone? →
phone - Which field is the customer ID? →
id - Which field is the creation date? →
created_at - Which fields for segmentation? →
tags,city,state,total_lifetime_value - Which fields for merge fields? →
first_name,last_name
- Segmentation for targeted campaigns
- Personalization in emails and SMS
- Attribution logic
Step 4: Send data to the resources endpoint
Once a schema exists, you write records against it at the standard resources endpoint, keyed by schema name:What Data You’ll Send
Customer/Contact Data (Required for All Industries)
Minimum Required:- Email address (primary identifier)
- Unique customer ID from your system
- Phone number (enables SMS, improves attribution)
- First and last name
- Creation date/timestamp
- Address (city, state, zip for geographic targeting)
- Custom attributes for segmentation
- Lifetime value or spend metrics
- Customer status (active, inactive, churned)
- Opt-in/opt-out status for email and SMS
- Tags or categories
Transaction/Billing Data (Varies by Industry)
- Online Transactions
- Contract-Based
- Invoice-Based
E-commerce, Bookings:
- Order data with line items
- Sent after purchase completion
- Include product/service details
Location Data (If Applicable)
Required for:- Reputation product (Google Business Profile mapping)
- Location-based segmentation in Engage
- Only using Measure/Acquire
- Single-location businesses
Key Decision: What Counts as a Transaction?
Work with Reach to define your “conversion event”—the moment that matters for attribution:Booking-Based
When: Customer schedules/reservesPros:
- Shows impact quickly
- Captures intent early
- Not actual revenue yet
- May include cancellations
Payment-Based
When: Customer paysPros:
- Actual revenue
- Most accurate attribution
- Longer attribution window
- Delayed insights
Invoice-Based
When: Invoice is issuedPros:
- Describes the sale
- Works for B2B/net-terms
- May not reflect payment
- Requires status updates
You can send updates as transactions progress through stages (booked → paid → fulfilled). This provides both early visibility and eventual accuracy.
Schema Evolution
Schemas can evolve as your needs change, within strict validation rules that protect existing data: Adding new fields — always safe. Add the field to the schema; existing records are unaffected and the new field becomes available for segmentation and merge fields. Renaming, retyping, or removing a field — restricted once records exist. Removing a field that resources use returns an error rather than silently dropping data; a field that live tenant segments or merge fields depend on is protected. While you’re still iterating before go-live, the simplest path is to clear a schema’s resources and re-send. Adding new schemas — self-service and independent. Define the new schema and start writing to it at your own pace.The full change-by-change reference (what’s allowed, what errors, and how to fix it) lives in the schema lifecycle guide.
Phase 4 Checklist
1
Sample data sent to Reach
Real JSON examples of customers, transactions, locations
2
Schemas defined by Reach
Custom schemas created matching your structure
3
Field mappings confirmed
Critical fields identified for attribution and segmentation
4
API endpoints provisioned
Custom endpoints ready to accept your data
5
Conversion event defined
Decision made on what counts as a transaction
Next Steps
With schemas defined, you’re ready to choose a sync method and begin sending data.Phase 5: Ongoing Data Sync
Choose sync method and implement ongoing data flow