Personalization API

Overview

The Personalization API lets you personalize web and mobile application experiences. It is a lightning-fast way to get customer information from a performant API on your cloud data stack. You can see customer information to use in personalization and the audiences a user is currently qualified for.

For instance, let's say you define a churned, high-spender audience called "Churned High Value". When a user visits your app, you can check if they are in this audience to decide whether to give them an incentive to purchase to win them back.

Access:

Access is controlled in GrowthLoop's SaaS environment using an API key, please have your designated admin reach out to your assigned solutions architect to receive your API key. When making requests to the personalization API, you’ll need to pass an Authorization header with a value of Bearer base64_encoded_api_key.

Audience List Endpoint

<https://app.flywheelsoftware.com/v1/audiences>

To list all available segments in your organization, you can use the endpoint listed above. This will return the Audience Name and Audience ID of all audiences currently exported to the personalization API.

Sample Call:

curl --location --request GET 'https://app.flywheelsoftware.com/v1/audiences' --header 'Authorization: Bearer ************************

Sample Response:

[  
   {  
      "audience_id":2100,  
      "audience_name":"Churned High Spenders"  
   },  
   {  
      "audience_id":2101,  
      "audience_name":"High Frequency Buyers"  
   }  
]

Audience Profile Endpoint

<https://app.flywheelsoftware.com/v1/audiences?identifier=insert_id_here>

‍To list all audiences a user is a part of, you can query the base endpoint listed above and include an identifier parameter. The identifier parameter is tied to the unique identifier mapping chosen when connecting your Users Datasets to GrowthLoop.

In addition to the audiences a user is a member of, this endpoint also returns customer profile information instantly from any Users Dataset or Users Model configured in Flywheel from your data warehouse. You can query the base endpoint listed above and include an identifier parameter. The identifier parameter is tied to the unique identifier mapping chosen when connecting your Users Dataset to Flywheel. This is great for serving personalization, recommendations, or creatives stored for a customer in your data warehouse.

Sample Call:

curl --location --request GET '<https://app.flywheelsoftware.com/v1/audiences?identfier=1729271?usermodel=1'> --header 'authorization: Bearer ************\*\*\*\*************

Sample Response:

{        
  "id": 1729271, 
  "first_name": "Joe",
  "last_name": "Cristee",
  "audiences": [
    {        
      "audience_id": 2100,        
      "audience_name": "Churned High Spenders"    
    },
    {        
      "audience_id": 152,        
      "audience_name": "Incentive User"    
    }
  ],
  "total_spend": 572.00,
  "churn_risk_score": 0.78
  "last_purchase_date": "12/21/2020",
  "gender": "Male",
  "most_frequent_purchase_category": "Electronics",
  "last_purchase_category": "Shoes",
  "incentive_recommendations": {
  	"incentives": [
      {
        "id": 4
        "name": "Buy $50, Get Free Shipping"
        "expiration": "12/30/2020"
      },
      {
        "id": 6
        "name": "20% off"
        "expiration": "12/30/2020"
      },
    ]
  }
}

Our customers are leveraging the Personalization API to bring the power of their Cloud Data Stack to drive personalized experiences in mobile applications and their CMS. If you are interested in learning more reach out to [email protected].