Getting started
RudderStack supports sending event data to ProfitWell via the following connection modes:
| Connection Mode | Web | Mobile | Server | 
|---|---|---|---|
| Device mode | Supported | - | - | 
| Cloud mode | Supported | Supported | Supported | 
Once you have confirmed that the source platform supports sending events to ProfitWell, follow the steps below:
- From your RudderStack dashboard, add the source. From the list of destinations, select ProfitWell.
 - Assign a name to the destination, and click Next. You will then see the following Connection Settings window:
 

Connection Settings
To successfully configure ProfitWell as a Cloud Mode destination, enter the following connection settings:
- Private API Key: Enter your ProfitWell private API key here. To obtain the Private API Key, log into your ProfitWell account. Then, navigate to the Account Settings - Integration option. Here, you can get your API key under API Keys/Dev Kit, as shown in the following image:
 

To send events to ProfitWell via cloud mode, you don't need to enter the Public API Key.
- Finally, click Next to complete the setup. ProfitWell should now be configured and enabled as a destination in RudderStack.
 
Identify
The identify call lets you create or update a subscription for a particular user.
A sample identify call is as shown:
rudderanalytics.identify(  "user0001",  {    planId: "Starter",    email: "axel@testmail.com",    planInterval: "month",    effectiveDate: 1630645519,    planCurrency: "USD",    subscriptionAlias: "starter_axel",    value: "2000",    name: "Axel Rose",    age: 25,    phone: "+911234665544",  },  {    externalId: [      { type: "profitwellSubscriptionId", id: "pws_psqfbi9zODBB" },      { type: "profitwellUserId", id: "pws_MS2g4ON214dU" },    ],  });RudderStack passes the fields profitwellUserId and profitwellSubscriptionId as externalId.
- The 
externalIdof typeprofitwellUserIdis mapped to ProfitWell'suser_idfield. - The 
externalIdof typeprofitwellSubscriptionIdis mapped to ProfitWell'ssubscription_idfield. 
Identify Mapping
This section lists the various criteria for mapping RudderStack fields to ProfitWell fields.
The following table lists all the supported fields for Creating Subscriptions with their relative mapping to the ProfitWell fields:
| RudderStack Field | ProfitWell Field | 
|---|---|
userId | user_alias | 
subscriptionAlias | subscription_alias | 
email | email | 
planId | plan_id | 
planInterval | plan_interval | 
planCurrency | plan_currency | 
status | status | 
value | value | 
effectiveDate | effective_date | 
The following table lists all the supported fields for Updating Subscriptions with their relative mapping to the ProfitWell fields:
| RudderStack Field | ProfitWell Field | 
|---|---|
planId | plan_id | 
planInterval | plan_interval | 
value | value | 
status | status | 
effectiveDate | effective_date | 
While creating a subscription, if effectiveDate is not provided in the identify call, then RudderStack takes the date from the event call's originalTimestamp.
For more information on using these fields, refer to the ProfitWell documentation.
RudderStack discards the identify event in the following two scenarios:
- For a given 
profitwellUserId, a user account is not found in ProfitWell. - For a given 
profitWellUserId, aprofitwellSubscriptionIdis not found. 
If you provide a userId(mapped to user_alias in ProfitWell) or a subscriptionAlias (mapped to subscription_alias) in the identify call, a new user subscription is created if it is not already present.
FAQs
Where do I get the API Key for ProfitWell?
To obtain your ProfitWell Private API Key, log into your ProfitWell dashboard. Navigate to the Account Settings - Integration option. Here, you can get your API key under API Keys/Dev Kit, as shown in the following image:

Contact us
For more information on the topics covered on this page, email us or start a conversation in our Slack community.