Skip to main content

Configuring trials

This document describes how to use Metronome to configure free trials. Trials allow customers to try your product for free before committing financially.

How trials work

The terms of a trial specify its limitations in both trial duration and an optional spending cap. For example, a 14-day $500 trial means a customer will receive a trial invoice after 14 days with an adjustment removing up to $500 from their total due. If no cap is specified, the full amount of the trial invoice is subtracted, leaving the customer with a zero total.

A trial always results in exactly one trial invoice, issued at the end of the trial period. This is true even if the trial extends beyond the length of a typical billing period (e.g. a 60-day trial on a plan that's billed monthly).

A trial can be seen as coming before the rest of the normal terms of a pricing plan. If a plan has ramps, the trial uses the prices from the first ramp. However, it does not include any charges that are not usage based (e.g. a fixed monthly fee). Such charges will appear starting with the first non-trial invoice.

Default trials and per-customer overrides

Pricing plans can specify terms for a default trial, which are then applied to each customer using that plan. Trial terms can also be set or modified on a per-customer basis. This can be done in the Metronome UI by clicking on the Plans tab when viewing an individual customer and then choosing Add trial or Edit trial from the settings menu.

a screenshot showing the "add trial" menu item

A trial can be added or edited as long as the given customer hasn't received a finalized invoice yet. This allows for extending a trial for a customer who needs more time to evaluate the product or ending a trial early for a customer who has signed a long-term contract.

Viewing trial status

You can see the remaining time and spending allowed in an active trial in the UI when viewing a customer's plans. The same information is available programmatically via the list customer plans API endpoint.