---
name: "@gtm"
slug: "gtm"
description: "Stripe billing components by PumpGTM: an in-app cancel flow with save offers, and one subscription state for every access check."
category: "E-commerce/payments"
tags: ["payments", "pro-available"]
framework: "react"
license: null
author: "gigacatalyst"
website: "https://pumpgtm.com"
github: "https://github.com/gigacatalyst/pumpgtm"
registry: "https://pumpgtm.com/r/registry.json"
pro: true
pro_url: "https://pumpgtm.com/pricing"
github_stars: 0
component_count: 2
generated_at: "2026-10-10T06:32:55.998Z"
---

# @gtm

Stripe billing components by PumpGTM: an in-app cancel flow with save offers, and one subscription state for every access check.

## Links

- Website: https://pumpgtm.com
- GitHub: https://github.com/gigacatalyst/pumpgtm
- Registry JSON: https://pumpgtm.com/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/gtm
- This file: https://sh4dcn.vercel.app/md/gtm.md
- Pro / pricing: https://pumpgtm.com/pricing

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://pumpgtm.com/r/registry.json
pnpm dlx shadcn@latest add https://pumpgtm.com/r/registry.json
bunx shadcn@latest add https://pumpgtm.com/r/registry.json
# clone the source repo
git clone https://github.com/gigacatalyst/pumpgtm.git
# fetch the raw registry index
curl -s https://pumpgtm.com/r/registry.json
```

## Components (2)

| name | type | description | install |
| --- | --- | --- | --- |
| subscription-state | registry:lib | One function that turns a Stripe subscription into the product decision: needs card, trialing, cancelling but still running, paused, past due, or ended. Schedu… | `npx shadcn@latest add https://pumpgtm.com/r/subscription-state.json` |
| cancel-flow | registry:block | An in-app Stripe cancel dialog: a reason with one follow-up question, then a full refund if they were charged in the last 24 hours, or one save offer picked fr… | `npx shadcn@latest add https://pumpgtm.com/r/cancel-flow.json` |

## For AI agents

```text
You are adding components from @gtm to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/gtm.md) for the component list.
2. Fetch the machine-readable index: https://pumpgtm.com/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: gtm).
```
