---
title: Provision Amplitude with Stripe Projects
description: "Add Amplitude analytics, session replay, feature flags, and experimentation to your project with a single Stripe Projects CLI command."
product: general
lang: en
last_updated: 2026-10-21
token_estimate: 1931
---
# Provision Amplitude with Stripe Projects

> For AI agents: a documentation index is available at [/docs/llms.txt](/docs/llms.txt). Append `.md` to any page URL for markdown, or send `Accept: text/markdown`.

[Stripe Projects](https://docs.stripe.com/projects) is a CLI tool that provisions third-party services (databases, auth, analytics, and more) under a single Stripe-managed billing relationship. Amplitude is an integrated provider, so you can create an Amplitude organization, project, and SDK API key without leaving your terminal.

```shell
stripe projects add amplitude/analytics
```

That one command creates your Amplitude org (or links you back to an existing one), provisions a default project, and writes an API key into your Stripe Projects vault. From there, [initialize the Amplitude Unified SDK](https://amplitude.com/docs/sdks/analytics/browser/browser-unified-sdk) directly and you're sending events.

Use Stripe Projects when you manage billing through Stripe and want Amplitude provisioned under the same billing relationship. If you prefer to create an Amplitude account outside of Stripe, sign up at [amplitude.com](https://amplitude.com).

> **Note:**
>
> Stripe Projects requires the Stripe CLI. Go to [Stripe's Projects documentation](https://docs.stripe.com/projects) for installation and authentication steps.

## Before you start

The Stripe CLI, authenticated against your Stripe account.

A Stripe Projects directory — run `stripe projects init <name>` if you don't have one.

For paid plans only: a billing method on your Stripe account, added with `stripe projects billing add`.

You don't need an existing Amplitude account. If the email on your Stripe profile already owns an Amplitude organization, Amplitude links the new project to it. Otherwise, Amplitude creates a fresh organization for you.

## Browse the catalog

Inspect what Amplitude exposes through Stripe Projects before you provision:

```shell
stripe projects catalog amplitude
stripe projects catalog amplitude --json
```

Two kinds of entries show up:

- `amplitude/analytics`: the deployable resource. Provisions an Amplitude project that includes product analytics, feature flags, session replay, and experimentation.
- Plan services: purchasable tiers that determine your monthly tracked user (MTU) quota and billing. Amplitude always offers the Free plan and one or more `plus-v3-*` paid plans.

## Provision Amplitude

### Free plan

Free is the default. It includes 2 million free events, core analytics, feature flags, and session replay. No billing method is required.

```shell
stripe projects add amplitude/analytics
```

### Paid plan

Pick a tier from the catalog and pass it as the `plan_tier` configuration field:

```shell
stripe projects add amplitude/analytics --config '{"plan_tier":"plus-v3-10k-mtu-monthly"}'
```

Stripe collects payment through a shared payment token at provision time. Your card details never reach Amplitude. Stripe Projects offers monthly billing only. To switch to annual billing, go to the Amplitude dashboard at _Settings > Billing_ after provisioning.

### Account configuration

The first time you provision Amplitude in a Stripe Project, the CLI prompts you for two fields:

- `region`: `us` or `eu`. Determines the data center where Amplitude stores and processes your data. This setting is immutable after Amplitude creates the account.
- `marketing`: optional boolean. Opts you in to product updates and marketing email from Amplitude.

## What you get back

A successful provision writes an `access_configuration` object into your Stripe Projects vault. Pull it into your local environment:

```shell
stripe projects env --pull
```

The vault stores:

- `api_key`: the API key for your default Amplitude project. Use it to initialize any Amplitude SDK.
- `dashboard_url`: an authenticated link to your organization's dashboard (paid plans only).

From here, initialize the [Amplitude Unified SDK](https://amplitude.com/docs/sdks/analytics/browser/browser-unified-sdk) (analytics, session replay, and experiment in one package) to start sending events:

```javascript
import { Amplitude } from "@amplitude/unified";

Amplitude.init(process.env.AMPLITUDE_API_KEY);
Amplitude.track("Button Clicked", { button_name: "Sign Up" });
```

For platform-specific SDKs, go to [Install Amplitude](https://amplitude.com/docs/get-started#install-amplitude).

> **Tip:**
>
> If you need an API key for a project other than the auto-created default, retrieve it from the Amplitude dashboard at _Settings > Projects_. Open an authenticated session with `stripe projects open amplitude`.

## Change plans

Use `stripe projects upgrade` to move between tiers. The command issues a non-destructive update against your `analytics` resource. Your project, API key, and existing event data carry over unchanged.

```shell
stripe projects upgrade amplitude/analytics --config '{"plan_tier":"plus-v3-100k-mtu-monthly"}'
```

| Change | Effective |
| --- | --- |
| Free → Plus | Immediately. Stripe charges a prorated amount for the rest of the cycle. |
| Plus → higher Plus | Immediately. Stripe charges a prorated amount for the rest of the cycle. |
| Plus → lower Plus | Scheduled for end of the current billing cycle. No refund or credit. |
| Plus → cancel | Scheduled for end of the current cycle. Reverts to Free. |
| Free | No cancellation needed. Free plans don't bill and stay active forever. |

Cancel a paid plan with:

```shell
stripe projects remove amplitude/analytics
```

You keep paid features until the billing cycle ends, then your account drops to Free automatically. Your project, events, and dashboards stay intact.

## Open the dashboard

Launch an authenticated dashboard session straight from the CLI:

```shell
stripe projects open amplitude
```

Deep link URLs are short-lived and single-use. Generate a fresh one each time. The link drops you into your organization's main analytics view, already signed in.

## Data residency

Amplitude operates separate US and EU data centers. The `region` you select at provision time pins your organization to one of them for its lifetime. Switching regions requires a manual migration through [Amplitude support](https://help.amplitude.com/).

The EU region routes through `eu.amplitude.com` and `api.eu.amplitude.com`. Make sure your SDK initialization sets the server zone to `EU` when you provisioned with `region: "eu"`:

```javascript
Amplitude.init(process.env.AMPLITUDE_API_KEY, { serverZone: "EU" });
```

## Returning users

If your Stripe profile email already matches an existing Amplitude login, Stripe Projects links the provisioning request to your existing account instead of creating a new one. When your email belongs to a single organization, the CLI receives credentials scoped to that org automatically. When it belongs to multiple, the CLI prompts you to pick one before completing the provision.

You can run `stripe projects add amplitude/analytics` from any Stripe Projects directory. Each provisioning creates a new Amplitude project inside the same organization, which is useful for separating dev, staging, and production environments.

## Troubleshooting

- **`requires_payment_method` error on a paid provision.** Add a billing method first with `stripe projects billing add`, then retry.
- **Wrong region.** Region is immutable. Run `stripe projects remove amplitude/analytics` to drop the resource, then re-provision with the correct region. This creates a new Amplitude organization. Your previous one stays in place but unlinked from Stripe.
- **Lost the API key.** Run `stripe projects env --pull` to refresh the vault, or grab the key from _Settings > Projects_ in the Amplitude dashboard.

