On this page

Provision Amplitude with Stripe Projects

Stripe 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 stand up 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, run the Amplitude Setup Wizard with npx @amplitude/wizard or initialize the Amplitude Unified SDK directly, and you're sending events.

Stripe Projects requires the Stripe CLI. Go to Stripe's Projects documentation for installation and authentication steps.

Before you start

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 up to 10,000 monthly tracked users, core analytics, feature flags, and session replay. No billing method required.

shell
stripe projects add amplitude/analytics

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:

  • regionus 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 you've got two paths to events flowing:

  • Recommended — run the Amplitude Setup Wizard. It detects your framework, proposes tracking events tailored to your codebase, and instruments them for you — no manual SDK wiring required.

    shell
    npx @amplitude/wizard
    
  • Initialize the SDK yourself. Drop the Amplitude Unified SDK — analytics, session replay, and experiment in one package — into your app:

    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 the Amplitude Quickstart.

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"}'
ChangeEffective
Free → PlusImmediately. Stripe charges a prorated amount for the rest of the cycle.
Plus → higher PlusImmediately. Stripe charges a prorated amount for the rest of the cycle.
Plus → lower PlusScheduled for end of the current billing cycle. No refund or credit.
Plus → cancelScheduled for end of the current cycle. Reverts to Free.
FreeNo 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.

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 — 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.

Was this helpful?