APIs are now the de facto way businesses can break down corporate silos by enabling data sharing across both internal departments and external customers and partners. According to Cloud Elements, over 50% of B2B collaboration now happens over APIs and is continuing to grow.
Your business can deploy APIs to deliver additional value to partners and customers by enabling them to connect your services programmatically to enable automation and data sharing. At the same time, your business can build new products and services by piecing together a collection of APIs from other companies.
APIs are becoming the de facto digital supply chain for modern enterprises connecting vendors to customers. Because of this, the data flowing through your APIs is a good representation of the health of your business. Yet, there is a lack of tooling around leveraging this data.
Today, business analytics tools today have either focused on either:
- Offline transactional data sitting in databases and warehouses such as Redshit or Snowflake
- Online usage metrics sitting in tools like Mixpanel and Amplitude to understand how consumers interact with web and mobile interfaces.
This has left a gap for companies trying to extract insights on not only their web and mobile assets, but any digital asset that is API-driven whether it's on partner integrations, vendor APIs, or APIs being served to customers.
With APIs being standardized around common design patterns like REST, JSON, and GraphQL, it's becoming easier for companies to collect and analyze that data without building elaborate custom solutions.
To start, an API analytics system should capture basic info around the API such as HTTP verb and path, headers, and the full payload. Capturing the entire payload enables drilling into not just which endpoints are called, but what are API users querying or sending to the API.
Additional metadata should also be tracked such as status code and authentication information and latency.
Such attributes enables technical metrics such as 90th percentile latency broken down by endpoint and discovering any outliers.
Tracking only performance and functional API metrics is not enough for a system to be leveraged by business users.
For an API analytics system to be useful, requests need to be tied back to business concepts such as what an API transaction means, direction in which money or value flowed, and who the user of the API is. Because APIs are technical in nature, adding context such as a transaction description and which teams own the API is paramont.
For example, if we were to see the top endpoints being used by largest customers, one might do a top k aggregation like so:
|Endpoint||Daily Event Count|
However, an API analytics for business users may tag API transactions with an easy description. Today, this can be done automatically via popular API markup languages like Swagger/OpenAPI to generate a report like so:
|Endpoint||Daily Event Count|
|Get a List of Items||545451|
|Get a List of an Item's Categories||454151|
|Create a Comment||3488|
|Create a Purchase||101|
By pulling customer information in systems like Salesforce and internal user tables, business users can slice and dice the API data by customer name, employee count, and marketing attribution.
This enables business users to understand which types of users are adopting and successfully using APIs the most while investing in the right sales and marketing initiatives that drive results. For example, the below chart shows unique API users broken down by marketing channel.
By adding customer demographic information, a well-designed API analytics system can answer questions like:
- Track the customer journey from initial touch to fully activated / integrated accounts, while finding which marketing initiatives drive higher activation rates.
- Discover whether a specific API program is healthy by looking at product retention rates.
- Plan a better product strategy by knowing which API features are used or not used.
- Monitor when a new account activates or has struggles and preempt any hard discussions.
In order to be actionable, end users need the ability to created actions and workflows when specific criteria is reached. For example, an account exec or customer success manager can create an alert whenever a specific new user has a change in API traffic.
A product manager can create a dashboard showing various metrics on unique active users and feature usage whereas a Chief Marketing Officer may want a dashboard showing which marketing channels are driving the most activations and how is conversion rates trending.
This means an API analytics system should have an ability to create dashboards for each team consuming the service including sales, customer success, support, product, and marketing.
While deploying API analytics can have tremendous impact to the growth trajectory of an organization deploying APIs, there are issues that organizations need to think about.
High-volume APIs can heavily tax a poorly designed analytics system. Teams are always oversubscribes which means shortcuts are taken when creating internal systems that are not exposed to customers, whether on scalability, security or both.
Analytics systems can potentially track PII or sensitive information that is subject to regulation such as GDPR and CCPA. Having the correct processes and workflows in place to expire and remove data is critical when storing such data. In addition, robust access control should be in place to safeguard user data.
While technical users may be fine directly parsing logs and digging into time-series metrics in APM tools like Splunk and Datadog, the productivity of business users will drop if they are forced to adopt such tools.
In such cases, extra burden is placed on engineering and data science teams to generate reports. Self-serve analytics is critical for any organization serious about agile development and speed of innovation.
Looking for a complete customer-centric API analytics solution? Check out Moesif!
This article was written by Moesif founder and CEO Derric Gilling for the Moesif blog.
Posted on Feb 11 by: