Gainsight PX
Delivers product-usage events to Gainsight PX server-side through the Custom Event API, keyed on the logged-in user’s ID.
Why route Gainsight through Datafly Signal
- Profiles are updated from the server, not the browser. Events reach Gainsight even when a tracker blocker or a failed page unload would have dropped a client-side call, so the profile reflects what actually happened.
- One consent decision governs every destination. Gainsight is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.
Prerequisites
Create a REST API key
In Gainsight PX, open Administration > REST API and create a key with Write permission.
Find your product key
Administration > Products shows the product (tag) key, for example AP-XXXXXXXXXX-2.
Know your data centre
US (api.aptrinsic.com), EU (api-eu.aptrinsic.com) or US2 (api-us2.aptrinsic.com).
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
api_key | secret | Yes | Gainsight PX REST API key with Write permission, sent as the X-APTRINSIC-API-KEY header. Create it in Gainsight PX under Administration > Integrations > REST API. |
property_key | text | Yes | Your Gainsight PX subscription/product key (propertyKey), e.g. AP-XXXXXXXXXX-2. Found in Administration > Products. This is the tag key, distinct from the REST API key above. |
data_center | select | No | The Gainsight PX data centre of your subscription: US (api.aptrinsic.com), EU (api-eu.aptrinsic.com) or US2 (api-us2.aptrinsic.com). Leave on US unless your PX instance is hosted elsewhere. Options: us, eu, us2. |
Signal setup
- Navigate to Integrations in the sidebar and open the Integration Library tab.
- Find Gainsight PX, click Install and fill in the fields above.
- Pick the preset for your use, then review the mappings in the blueprint editor.
API endpoint
POST https://api.aptrinsic.com/v1/events/custom (EU: api-eu.aptrinsic.com, US2: api-us2.aptrinsic.com)
X-APTRINSIC-API-KEY: {api_key}Example request:
{"identifyId": "crm-user-7", "propertyKey": "AP-XXXXXXXXXX-2", "userType": "USER", "eventName": "Subscription Started",
"eventId": "evt-123", "date": 1758536000123, "sessionId": "1758500000", "accountId": "ACME-42",
"url": "https://www.example.co.uk/pricing", "referrer": "https://www.google.com/", "remoteHost": "203.0.113.7",
"attributes": {"planId": "plan_pro", "planName": "Pro", "value": 49, "currency": "GBP", "billingCycle": "monthly"}}The presets turn on the strict output contract: only the fields the blueprint maps are sent.
Event mapping
B2B / SaaS preset (saas)
Product usage for customer success in Gainsight PX: page views, sign-up, login, onboarding, feature use, search, plans, trials, the subscription lifecycle, support tickets, integrations and exports, as custom events keyed on the logged-in user (identifyId = Signal user ID, userType USER) with the account, session, page URL and referrer, eventId for de-duplication and canonical event properties as attributes (currency upper-case). No email or name is sent. Events without a user ID are not sent.
| Signal event | Sent to the vendor as | Enabled |
|---|---|---|
page | Page Viewed | yes |
sign_up | Signed Up | yes |
login | Logged In | yes |
onboarding_completed | Onboarding Completed | yes |
feature_used | Feature Used | yes |
search | Searched | yes |
plan_viewed | Plan Viewed | yes |
trial_started | Trial Started | yes |
trial_converted | Trial Converted | yes |
subscription_started | Subscription Started | yes |
subscription_upgraded | Subscription Upgraded | yes |
subscription_downgraded | Subscription Downgraded | yes |
subscription_cancelled | Subscription Cancelled | yes |
subscription_renewed | Subscription Renewed | yes |
support_ticket_created | Support Ticket Created | yes |
integration_connected | Integration Connected | yes |
export_completed | Export Completed | yes |
Default preset (default)
Core customer-success events for Gainsight PX: sign-up, login, feature use, trial start, subscription start and cancellation, keyed on the Signal user ID with account, session and eventId. No email or name is sent. Events without a user ID are not sent.
| Signal event | Sent to the vendor as | Enabled |
|---|---|---|
sign_up | Signed Up | yes |
login | Logged In | yes |
feature_used | Feature Used | yes |
trial_started | Trial Started | yes |
subscription_started | Subscription Started | yes |
subscription_cancelled | Subscription Cancelled | yes |
Identity and personal data
identifyId is the Signal user ID (the ID your PX tag identifies the user with) and accountId the account_id trait, else the group ID. No email or name is sent. Events without a user ID are not sent.
Consent
Map Gainsight PX to the consent category you use for product analytics.
Known limitations
- Gainsight PX allows about 200 requests a second and 1 million a day.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
401 | Wrong key or a key without Write permission. |
| Events missing | Check the data centre setting and that the user exists in PX with the same ID. |