Overview
To give your customers the best possible marketing experience, Reach needs access to their data. This is achieved in two parts:- Defining Schemas - Tell us how your data is structured
- Sending Data - Historical import + ongoing real-time/batch sync
Phase 3: Data Sync Setup
The Two-Step Process
1
Schema Definition
Reach creates flexible schemas matching your existing data structure—you don’t transform data to fit our requirements.
2
Data Transmission
Historical batch import followed by ongoing real-time or scheduled syncs.
Schema Creation Process
Reach’s flexible schema system adapts to your data model instead of forcing you to adapt to ours.Step 1: You Provide Sample Data
Step 1: You Provide Sample Data
Send Reach example JSON objects of your key business records as they exist in your system:
Example Customer Record
Example Transaction Record
Send real examples from your database—not idealized versions. Include all fields, even optional ones.
Step 2: Reach Creates Custom Schemas
Step 2: Reach Creates Custom Schemas
We define schemas that accept your exact structure and assign each a category:Schema Categories:
contacts_schema: Customer/contact recordstransactions_schema: Transaction/billing recordslocations_schema: Location/address records- Custom schemas as needed for your business model
Step 3: Reach Maps Critical Fields
Step 3: Reach Maps Critical Fields
We identify which fields serve key purposes for attribution and segmentation: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 field is the transaction amount? →
amountortotal - Which field is the transaction date? →
created_atorcompleted_at - Which field links to customer? →
customer_id - Which field indicates status? →
status
Step 4: You Get Schema-Specific Endpoints
Step 4: You Get Schema-Specific Endpoints
Reach provisions endpoints that accept your format:Each endpoint accepts your JSON structure directly—no reformatting needed.
What Data You’ll Send
Minimum Required Data
- Customer/Contact Data
- Transaction/Billing Data
- Location Data
All Industries Require
Required Fields:- 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 (tags, categories, preferences)
- Lifetime value or spend metrics
- Customer status (active, inactive, churned)
- Opt-in/opt-out status for email and SMS
Complete Example
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 actual payment
- Requires status updates
You can send updates as transactions progress through stages (booked → paid → fulfilled). This gives both early visibility and eventual accuracy.
How You’ll Send Data
Choose the method (or combination) that fits your infrastructure:- Real-Time API
- Batch API
- Database Access
- CSV Import
Event-by-Event Sync
Send customer and transaction records to Reach API as events occur in your system.Best for: Partners who want instant analytics and need real-time segmentationHow it works:- Immediate attribution
- Real-time campaign targeting
- Fresh data for segmentation
- Requires event hooks in your system
- More API calls (rate limiting considerations)
Hybrid Approaches
Many partners use combinations:- Database access for initial historical load → Real-time API for ongoing syncs
- Real-time API for transactions → Batch API for customer updates
- Batch API for regular syncs → Database access for one-time historical backfill
Phase 4: Ongoing Data Sync
Once schemas are defined and your sync method is chosen, implement the data flow:Your Responsibilities
1
Implement your chosen sync method
Set up real-time hooks, batch jobs, or database views based on your decision.
2
Start sending data to Reach
Begin with historical backfill, then ongoing syncs for new/updated records.
3
Keep data flowing
Ensure customers and transactions sync as they’re created/updated in your system.
4
Send status updates
Update transactions when they change status (refunded, canceled, modified).
Reach’s Responsibilities
- Create custom schemas matching your data
- Map fields to attribution logic
- Provision custom API endpoints
- Handle schema evolution as your needs change
- Query database on schedule (if using database access method)
Important Notes
Using External IDsWhen using Reach APIs, you can always use the resource
externalId. This maps to YOUR internal ID so you never need to know or store Reach’s resource IDs. This makes integration much simpler.Data Sync Checklist
Sample data sent to Reach - Real examples of customers, transactions, locations
Schemas defined - Reach has created schemas matching your structure
Sync method chosen - Real-time API, Batch API, Database Access, or hybrid
Endpoints or access provisioned - You have what you need to send data
Historical import complete - Existing data backfilled
Ongoing sync implemented - New/updated records flow automatically