CleverTap
Mobile-first customer engagement and retention platform. Sync user profiles and events from your warehouse to CleverTap via their Server API.
Prerequisites
- A CleverTap account
- Your CleverTap Account ID and Passcode (found in Settings > Project)
- Your CleverTap data center region
Authentication
CleverTap uses Account ID + Passcode authentication.
- In CleverTap, navigate to Settings > Project
- Copy your Account ID (also called Project ID)
- Copy your Passcode
- In Zeotap, paste the Account ID and Passcode into the corresponding fields
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Data Center Region | Select | Yes | The CleverTap data center region for your account. Options: India (in1), Singapore (sg1), United States (us1), Indonesia (aps3), Middle East (mec1), Europe (eu1). |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Object Type | Select | Yes | The type of data to send: User Profiles or Events. |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | Yes |
| Update | — |
| Mirror | — |
Audience Sync Modes
CleverTap does not have a list or segment membership API, so audience sync modes are not supported. Use regular sync modes to push profile or event data.
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
| Object Type | Required Fields |
|---|---|
| User Profiles | identity |
| Events | identity, evtName |
The identity field is the primary user identifier in CleverTap. It can be an email address, phone number, or custom string ID. New profiles are automatically created if the identity does not yet exist.
Default Destination Fields
User Profiles
identity, Name, Email, Phone, Gender, DOB, MSG-email, MSG-push, MSG-sms, MSG-whatsapp
Events
identity, evtName, ts
Any additional mapped fields for profiles are stored as custom profile properties. For events, additional fields are stored as event properties (evtData).
How It Works
- Zeotap reads rows from your model or audience query
- Rows are transformed according to your field mappings
- Records are batched into groups of up to 1,000 per API call
- Each batch is sent to the CleverTap POST /1/upload endpoint
- CleverTap returns per-record success/failure status
- Zeotap retries transient failures (HTTP 429, 5xx) with exponential backoff
Profile Uploads
Each row is sent as a record with "type": "profile". The identity field is placed at the top level, and all other mapped fields are nested inside a profileData object. CleverTap automatically creates new profiles or updates existing ones based on the identity value.
Event Uploads
Each row is sent as a record with "type": "event". The identity, evtName, and ts fields are placed at the top level, and all other mapped fields are nested inside an evtData object. If ts is not provided, CleverTap uses the current server timestamp.
Rate Limits
- Concurrent requests: 15 per account (HTTP 429 returned when exceeded)
- Batch size: Up to 1,000 records per API call
- Attribute key length: Maximum 120 bytes
- Attribute value length: Maximum 512 bytes
- Custom profile properties: Maximum 256 per profile
- Event types: Maximum 512 per account
- Event properties: Maximum 256 per event type
Zeotap automatically handles rate limiting with retry and exponential backoff.
Best Practices
- Use a consistent identity: Pick one identity scheme (email, phone, or custom ID) and use it consistently across all syncs to avoid creating duplicate profiles.
- Keep event names concise: CleverTap limits accounts to 512 event types. Use a controlled vocabulary for event names.
- Use the correct region: Selecting the wrong data center region causes authentication failures. Check your CleverTap dashboard URL to determine your region.
- Prefer upsert mode: For profile syncs, upsert ensures that both new and existing profiles are handled correctly.
- Include timestamps for events: Map a timestamp column to the
tsfield for accurate event ordering. Without it, CleverTap uses server receipt time.
Troubleshooting
Authentication failed: invalid Account ID or Passcode
Verify your Account ID and Passcode in CleverTap under Settings > Project. Ensure you are using the correct project credentials, not a personal API token.
Wrong data center region
Each CleverTap account is hosted in a specific data center. If you see authentication errors despite correct credentials, verify your region by checking your CleverTap dashboard URL (e.g., us1.dashboard.clevertap.com means United States).
Identity field missing
Every record sent to CleverTap requires an identity. Ensure your field mapping includes a source column mapped to the identity destination field. Without it, records are rejected.
Event name missing
Event uploads require an evtName field. Ensure your field mapping includes a source column mapped to evtName for event syncs.
Records appearing in unprocessed array
The CleverTap API response includes an unprocessed array with records that failed validation. Common causes include missing identity, invalid field types, or exceeding the 512-byte value limit. Check the sync run logs in Zeotap for per-record error details.
Rate limit exceeded (HTTP 429)
CleverTap limits concurrent API requests to 15 per account. If multiple syncs run simultaneously, they may exceed this limit. Zeotap retries automatically with backoff, but consider staggering sync schedules if this occurs frequently.
Profile properties not appearing
Custom profile properties may take a few minutes to appear in the CleverTap dashboard after upload. If properties still do not appear, verify that the property key is under 120 bytes and the value is under 512 bytes.
Timestamp format for events
The ts field expects a UNIX epoch timestamp in seconds (e.g., 1468308340), not milliseconds. If your source column uses milliseconds, apply a transformation to divide by 1,000 before mapping.