Create a free trial
This use case explores how Metronome's billing platform enables you to effectively manage free trials by tracking usage metrics and duration.
Free trials are a cornerstone of self-service and product-led growth strategies, allowing potential customers to experience the value of a product before committing to a purchase. However, configuring free trials in a usage-based billing model presents unique challenges. While traditional subscription models often rely on simple time-limited trials, usage-based services must carefully balance customer experience with potential costs. The definition of "free" becomes complex when users can potentially accumulate significant charges during their trial period. To solve this, Metronome can help your business offer compelling trial experiences while safeguarding margins and controlling COGS.
This use case walks through two free trial scenarios in Metronome:
- Create a capped free trial on a limited set of products using time-bound credits, alerts, and entitlement overrides.
- Create an uncapped free trial using time-bound contract overrides.
Create a credit-based free trial
A credit-based free trial involves allocating a specific amount of usage credits to new users, allowing them to explore your product within predefined limits. Many Metronome customers opt for this approach as a strategic way to balance generous product exposure with controlled risk. This method allows you to offer a substantial trial experience while preventing runaway usage that could impact your bottom line.
In this example, learn how to create a trial for a customer with the following conditions:
- The customer has free access to the platform for up to one week after sign-up.
- The customer trial ends if they reach up to $100 of usage in the platform.
- The customer trial only includes a certain set of products. For example, the user is allowed to access the Language models functionality, but not Fine tuning or Image generation features.
- When the trial ends (due to time or usage) you receive a real-time notification from Metronome. This allows you to manage a customer’s state based on their usage in Metronome—for instance, send them an email that their trial has ended, or disable their account until they purchase further usage.
Pre-requisites
Before getting started, make sure you have a rate card and an example customer to sign up for the trial.
Our example uses a newly created customer, AcmeCorp, with a rate card based on some example GenAI List Prices.
Configure a contract with free trial credits
To create and configure a contract with free trial credits:
- On the Customers page, click on your customer.
- Click New contract or plan -> New contract...
- Configure the contract for your customer.
-
Add a contract name.
-
Select the rate card.
-
Set the contract start and end dates.
-
Set the contract billing frequency.
-
- Click Add a credit to configure the trial terms.
-
Select an existing Credit product or create a new fixed product called Trial credits. The name of the fixed product selected is the name displayed to your customer.
-
Add an optional description. This is not displayed to your customer. Think of this as useful metadata for users of Metronome, like you.
-
Leave Applicable products and Applicable tags blank. This configures the credits to track all usage for your customer.
-
Under Access schedule, set these terms:
- Set Starting at to match your contract start date.
- Set Ending before to be one week after your Starting at date. This way, if a customer doesn’t use all of their free credits by the end of the trial period, the credits expire and customers pay for subsequent usage.
- Set the Amount to be $100.
- If you’ve included any other commits or credits in your contract, ensure that the Priority is set lower than the others.
In general, Metronome recommends using whole numbers for priority. For free trials, set a low number like 1 so they clearly take precedence over any other grants. Learn more on how priority is used to orchestrate burn-down.
-
When complete, click Add.
-
- (Optional) To help gate access to certain features while your customer is in the trial phase, set an override on the entitlement state for the particular rate. You can then read from this override to restrict access inside of your product.
- Click + Add an override
-
Select the product or product tags that you want to disable. In this example, you disable any products with the tags Fine tuning and Images modeled.
-
Set Starting at to match your contract start date.
-
Set Ending before to be one week after your Starting at date.
-
Set Entitlement to Disable .
-
When complete, click Create.
-
- Click + Add an override
- Save your changes to create and submit the contract.
If you prefer to use the API, this example payload shows how to create the credit-based free trial contract from the example with one request:
curl https://api.metronome.com/v1/contracts/create \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
"rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
"starting_at": "2024-09-01T00:00:00.000Z",
"ending_before": "2025-09-01T00:00:00.000Z",
"name": "AcmeCorp List Prices",
"credits": [
{
"name": "Trial credits",
"product_id": "609e4cf2-6ea2-4b07-a46c-6596f041b69e",
"access_schedule": {
"schedule_items": [
{
"amount": 10000,
"starting_at": "2024-09-01T00:00:00.000Z",
"ending_before": "2024-09-08T00:00:00.000Z"
}
]
},
"description": "Free usage as part of trial",
"priority": 1
}
],
"overrides": [
{
"starting_at": "2024-09-01T00:00:00.000Z",
"ending_before": "2024-09-08T00:00:00.000Z",
"entitled": false,
"applicable_product_tags": [
"Fine tuning",
"Images modeled"
]
}
]
}'
After you submit the contract, you can un-gate your customer’s access to your product and observe how they use it.
Track customer usage
To track customer usage of your product, use Metronome APIs to create a customer usage dashboard. This provides visibility into consumption in real-time and can be exposed directly to your customer.
Once the customer spends the full $100 of allotted credits, or once the trial week has passed, any subsequent usage is rated and charged in arrears based on your list pricing and billing frequency.
Create an alert to signal the end of the trial period
Your system likely needs to know in real-time once a customer’s trial period ends. You can configure alerts in Metronome to notify you when the customer’s credit balance has reached 0, either due to usage or credit expiration. You can use this notification as a signal to disable a customer’s access to your platform, or to re-enable the full suite of features now that their trial has ended.
To configure alerting:
- Define an alert to notify you upon expiration or full usage of the trial credits.
- Go to Alerts in the Metronome app and click + Create alert.
- Name your alert Trial Usage - AcmeCorp.
- Select the alert type Contract credit balance.
- Set alert threshold to reaches $0 USD.
- In Step 3: Select customers, specify that the alert should only apply to customer AcmeCorp.
- Ensure that you have a webhook endpoint configured to receive the notification from Metronome.
- When finished, click Save.
- Receive the webhook from Metronome when the credit balance reaches 0.
-
Ensure that you have a webhook destination set up in Metronome.
-
When a customer’s trial expires or their usage cap is reached, you receive a request from Metronome at the webhook destination with this body:
{
"id": "02d8d086-38cb-468e-ab7b-927d16cff708",
"properties": {
"customer_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
"alert_id": "de83d270-f518-4cee-bb15-12f453b303df",
"threshold": 0,
"alert_name": "Trial Usage - AcmeCorp",
"credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
"remaining_balance": 0,
"triggered_by": "usage"
},
"type": "alerts.low_remaining_contract_credit_and_commit_balance_reached"
} -
Upon receiving this request, take action on the customer within your product. Either send them an email or cut off their access until they upgrade their subscription.
-
Create an uncapped free trial
While credit-based trials offer precise control over usage limits, you might prefer to offer uncapped access for a fixed duration to showcase your product's full potential. This approach is particularly effective for products with high perceived value or complex features that require more exploration time. Metronome's billing system also accommodates this strategy, allowing you to set up time-limited trials without usage restrictions while still maintaining visibility into consumption patterns.
In this example, learn how to create a trial for a customer with the following conditions:
- The customer has free access to the platform for up to one week after sign-up.
- The customer can use as much of the product as they want with no capped usage.
- The customer trial only includes a certain set of products. For example, the user is allowed to use the Language models functionality, but not Fine tuning or Image generation features.
- When the trial ends, the customer is automatically transitioned into a paid user.
Configure a contract with time-bound price overrides
To create and configure a contract with time-bound price overrides:
- Follow steps 1 and 2 described in the section Configure a contract with free trial credits to create a contract for your customer.
- Click + Add an override to create your free trial with a time-bound price override.
-
Select the relevant products or product tags that you want to offer for the free trial. In this example, apply the override to all products with the tag Language models.
-
Set Starting at to match your contract start date.
-
Set Ending before to be one week after your Starting at date.
-
Set Adjustment type to be Multiplier with a value of 0.
-
When finished, click Create.
-
- (Optional) To restrict access to certain products during the trial period, follow the entitlement override steps from step 5 in the section Configure contract with free trial credits .
- Save your changes to create the contract.
If you prefer to use the API, this example payload shows how to create the time-bound price override contract from the example with one request.
curl https://api.metronome.com/v1/contracts/create \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "13117714-3f05-48e5-a6e9-a66093f13b4d",
"rate_card_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
"starting_at": "2024-09-01T00:00:00.000Z",
"ending_before": "2025-09-01T00:00:00.000Z",
"name": "AcmeCorp List Prices",
"overrides": [
{
"starting_at": "2024-09-01T00:00:00.000Z",
"ending_before": "2024-09-08T00:00:00.000Z",
"type": "multiplier",
"multiplier": 0,
"applicable_product_tags": [
"Language models"
]
},
{
"starting_at": "2024-09-01T00:00:00.000Z",
"ending_before": "2024-09-08T00:00:00.000Z",
"entitled": false,
"applicable_product_tags": [
"Fine tuning",
"Images modeled"
]
}
]
}'
At this point, the customer can begin using the platform as part of the free trial. You have visibility into their usage during the trial period. Once the trial completes, subsequent usage automatically charges in arrears at your list prices.