Pushwoosh

Send in-app subscription events to Pushwoosh to win back your subscribers

Qonversion sends subscription events to Pushwoosh to help you run customer-centric messaging to users who cancel their subscriptions. A personalized push notification with a special offer can significantly uplift your app revenue for this particular scenario.

1. Setup the SDKs

  1. Make sure you have Pushwoosh SDK installed. More about the Pushwoosh SDKs you can find on the platform-specific pages: IOS, Android and Cross-platform.

  2. Set Qonversion SDK by following installing the SDK guide.

  3. To attribute sent from Qonversion events to a particular Pushwoosh user, set Pushwoosh Hardware ID (HWID):

Qonversion.shared().setUserProperty(.pushWooshHwId, value: Pushwoosh.sharedInstance().getHWID())
[[Qonversion sharedInstance] setUserProperty:QONUserPropertyKeyPushWooshHwId, value: [[Pushwoosh sharedInstance] getHWID]];
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.PushWooshHwId, Pushwoosh.getInstance().getHWID());
Qonversion.shared.setUserProperty(QUserPropertyKey.PushWooshHwId, Pushwoosh.getInstance().getHWID())
String hwid = await Pushwoosh.getInstance.getHWID;
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.pushWooshHwId, hwid);
Pushwoosh.getHwid(
  function(hwId) {
    Qonversion.getSharedInstance().setUserProperty(UserPropertyKey.PUSH_WOOSH_HW_ID, hwId);
  }
);
Qonversion.GetSharedInstance().SetUserProperty(UserPropertyKey.PushWooshHwId, Pushwoosh.Instance.HWID);
pushwoosh.getPushwooshHWID(
  function(hwId) {
    Qonversion.getSharedInstance().setUserProperty(Qonversion.UserPropertyKey.PUSH_WOOSH_HW_ID, hwId);
  }
);
  1. (Optionally) To improve attribution quality, set the same user ID to Pushwoosh and Qonversion SDKs:
Pushwoosh.sharedInstance.setUserId("yourSideUserID")
Qonversion.shared().setUserProperty(.pushwooshUserId, value: "yourSideUserID")
[[Pushwoosh sharedInstance] setUserId:@"yourSideUserID"];
[[Qonversion sharedInstance] setUserProperty:QONUserPropertyKeyPushwooshUserId, value: @"yourSideUserID";
Pushwoosh.getInstance().setUserId("yourSideUserID");
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.PushwooshUserId, "yourSideUserID");
Pushwoosh.getInstance().setUserId("yourSideUserID")
Qonversion.shared.setUserProperty(QUserPropertyKey.PushwooshUserId, "yourSideUserID")
Pushwoosh.getInstance.setUserId('yourSideUserID');
Qonversion.getSharedInstance().setUserProperty(QUserPropertyKey.pushwooshUserId, 'yourSideUserID');
Pushwoosh.setUserId('yourSideUserID');
Qonversion.getSharedInstance().setUserProperty(UserPropertyKey.PUSH_WOOSH_USER_ID, 'yourSideUserID');
Pushwoosh.Instance.SetUserId("yourSideUserID");
Qonversion.GetSharedInstance().SetUserProperty(UserPropertyKey.PushwooshUserId, "yourSideUserID");
pushwoosh.setUserId('yourSideUserID');
Qonversion.getSharedInstance().setUserProperty(Qonversion.UserPropertyKey.PUSH_WOOSH_USER_ID, 'yourSideUserID');

2. Configure the Pushwoosh integration

  1. Navigate to your Pushwoosh dashboard and collect the following keys:

    1. Pushwoosh application code (XXXXX-XXXXX). It can be found right below the name of your application.
    2. API Access Token. It can be found in Settings -> API Access. You can learn more about the access token in this guide.
  2. Navigate to the Integrations section of your Qonversion project, select Pushwoosh, provide the Pushwoosh Application Key and API Access Token, and click Save.

  1. You can use the default event names provided by Qonversion or change them as you need.

β†’ Read more about tracked events here

πŸ‘

Done

Now Qonversion starts sending in-app purchases and subscription data to your Pushwoosh account.

Event Payload

In case you need details about data sent to Pushwoosh, follow the example below:

{
  "hwid": "8f65b16df378e7a6bece9614e1530",
  "userId": "[email protected]",
  "application": "XXXXX-CF22A",
  "auth": "bsu5wJmYRcHFT...WVqW",
  "event": "subscription_started",
  "timestampUTC": 1706771191,
  "attributes": {
    "event_name": "subscription_started",
    "user_id": "QON_9c0d54c7d56f4d46a37d86e1c1a",
    "custom_user_id": "",
    "identity_id": "",
    "advertiser_id": "3c226994-3ded-4841-a031-c4637e78",
    "time": null,
    "created_at": 123,
    "product_id": "product_id",
    "revenue.value": 70,
    "revenue.currency": "USD",
    "revenue.value_usd": 70,
    "revenue.proceeds_rate": 70,
    "revenue.is_proceed": 1,
    "price.value": 100,
    "price.value_usd": 100,
    "price.currency": "USD",
    "transaction.transaction_id": null,
    "transaction.original_transaction_id": null,
    "transaction.expires": null,
    "transaction.grace_period_expires": null,
    "device_id": "",
    "app_version": "",
    "sdk_version": "",
    "environment": "sandbox",
    "platform": "iOS",
    "ip": "",
    "property.custom_user_property_1": "value_1",
    "property.custom_user_property_2": "value_2"
  }
}