FullStory
Digital experience analytics platform. Sync your warehouse data to set user properties and send custom events to FullStory via their Server API.
Prerequisites
- A FullStory account with access to the Server API
- A FullStory API key with Standard or higher permissions
- The API key must be generated from Settings > API Keys in FullStory
Authentication
FullStory uses API Key authentication with HTTP Basic auth.
- In FullStory, navigate to Settings > API Keys
- Click Create API Key
- Select Standard permission level (sufficient for creating and updating users and events)
- Copy the API key immediately — it cannot be viewed again after creation
- Enter the API key in Zeotap when configuring the destination
Important: Store your API key securely. FullStory only displays it once at creation time.
Configuration
FullStory does not require additional configuration fields beyond authentication. The API automatically routes requests to the correct data center based on your API key prefix (na1 for US, eu1 for EU).
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Data Type | Select | Yes | Type of data to send: Users (Set User Properties) or Events (Custom Events) |
Supported Operations
Sync Modes
| Mode | Supported |
|---|---|
| Upsert | Yes |
| Insert | Yes |
| Update | — |
| Mirror | — |
Audience Sync Modes
| Mode | Supported |
|---|---|
| Add | Yes |
| Upsert | Yes |
| Remove | — |
| Mirror | — |
Features
- Field Mapping: Yes
- Schema Introspection: No
Required Mapping Fields
| Data Type | Required Fields | Description |
|---|---|---|
| Users | uid | FullStory user identifier. Users are upserted by this ID. |
| Events | uid, event_name | User identifier and the name of the custom event. |
Default Destination Fields
Users: uid, display_name, email, properties
Events: uid, event_name, timestamp, properties
How It Works
User Properties
When the Users data type is selected, Zeotap sends user data to the FullStory Server API v2 /v2/users/batch endpoint. Users are upserted by their uid — if a user with the given UID exists, their properties are updated; otherwise, a new user is created.
The following fields are mapped to top-level FullStory user attributes:
uid— The unique user identifierdisplay_name— The user’s display nameemail— The user’s email address
All other mapped fields are sent as custom properties in the properties object. FullStory automatically infers property types, or you can declare them explicitly via the optional schema.
Custom Events
When the Events data type is selected, Zeotap sends event data to the /v2/events/batch endpoint. Each row becomes a custom event associated with the specified user.
uid— Identifies which user the event belongs toevent_name— The name of the custom event (e.g.,purchase_completed)timestamp— When the event occurred (ISO 8601 format)
All other mapped fields are sent as event properties.
Batch Processing
Zeotap sends data in batches of up to 500 rows per API request. This keeps individual request payloads manageable while staying well within FullStory’s 50,000-record batch import limit. Failed batches are retried automatically with exponential backoff.
Rate Limits
FullStory applies rate limits to protect against traffic bursts:
- Rate-limited requests receive an HTTP
429response with aRetry-Afterheader - Zeotap automatically respects the
Retry-Afterdelay and retries - FullStory limits in-progress batch operations to 100 concurrent batches per organization
- Beyond 200 in-progress batches or 500,000 individual operations, requests are rejected with
429
For high-volume syncs, consider scheduling during off-peak hours to minimize rate limiting.
Best Practices
- Use consistent UIDs: Ensure the
uidvalues match what your frontend FullStory snippet uses so server-side data is stitched to the correct user sessions - Keep property names clean: FullStory v2 API does not require type suffixes on property names (unlike v1). Use plain names like
plan_nameinstead ofplan_name_str - Sync user properties before events: If you are setting up both user properties and custom events, configure the user properties sync first to ensure user records exist
- Monitor your server event quota: FullStory tracks server events against your account’s monthly quota. Check Settings > Account Management > Subscription to monitor usage
Troubleshooting
Authentication failed: invalid API key
Verify you copied the complete API key from FullStory Settings > API Keys. Keys are only shown once at creation time. If lost, generate a new key. Ensure the key has at least Standard permissions.
Events not appearing in FullStory
Server-side events may take a few minutes to appear in FullStory. Check the FullStory event search to verify events are being received. Ensure the uid matches a known user.
User properties not updating
Confirm the uid in your sync matches the UID used in your frontend FullStory snippet. Mismatched UIDs create separate user records instead of updating existing ones.
429 Too Many Requests errors
Your organization has too many in-progress batch operations. Zeotap retries automatically, but if errors persist, reduce sync frequency or batch size. Check FullStory for any concurrent imports from other tools.
Custom properties showing wrong types
FullStory infers property types from the first value received. If a property was initially sent as a string but should be a number, contact FullStory support to reset the property type, then re-sync with the correct data type.
Events missing user context
Server events require a valid uid to associate with a user. If events appear without user context, verify the uid field is mapped and contains non-empty values matching existing FullStory user identifiers.