Track Stripe Activities in Google Analytics with Custom Events

  • Apr 13, 2025
Track Stripe Activities in Google Analytics with Custom Events

Paytics allows you to send detailed Stripe activity data—like payments, refunds, and subscriptions—directly to Google Analytics (GA4). By syncing these custom events, you gain a clearer picture of customer behavior, transaction trends, and payment performance, helping you make better data-driven decisions.

Please note: Google Analytics may take some time (typically 72 hours) to process and update your data. Once this processing period is complete, you’ll have access to a more detailed dataset for analysis.

 

Event Mapping Overview

The following table outlines all the Stripe events that trigger a corresponding custom event in Google Analytics 4 via Paytics. Each custom event name begins with the prefix stripe_ (for example, stripe_charge_captured) and includes relevant parameters for GA4 measurement.

# Stripe event Stripe event description GA4 event
1 charge.captured Occurs when a previously uncaptured charge is captured. stripe_charge_captured
2 charge.succeeded Occurs when a charge is successful. stripe_charge_succeeded
3 charge.updated Occurs when a charge description or metadata is updated, or upon an asynchronous capture. stripe_charge_updated
4 charge.pending Occurs when a pending charge is created. stripe_charge_pending
5 charge.failed Occurs when a failed charge attempt occurs. stripe_charge_failed
6 charge.expired Occurs when an uncaptured charge expires. stripe_charge_expired
7 charge.refunded Occurs when a charge is refunded, including partial refunds. stripe_charge_refunded
8 charge.dispute.created Occurs when a customer disputes a charge with their bank. stripe_charge_dispute_created
9 charge.dispute.updated Occurs when the dispute is updated (usually with evidence). stripe_charge_dispute_updated
10 charge.dispute.closed Occurs when a dispute is closed and the dispute status changes to lost, warning_closed, or won. stripe_charge_dispute_closed
11 charge.dispute.funds_withdrawn Occurs when funds are removed from your account due to a dispute. stripe_charge_dispute_fundswithdrawn
12 charge.dispute.funds_reinstated Occurs when funds are reinstated to your account after a dispute is closed. This includes partially refunded payments. stripe_charge_dispute_fundsreinstated
13 checkout.session.completed Occurs when a Checkout Session is successfully completed. stripe_checkout_session_completed
14 checkout.session.expired Occurs when a Checkout Session expires. stripe_checkout_session_expired
15 checkout.session.async_payment_succeeded Occurs when a delayed payment method is successfully processed. stripe_checkout_session_asyncpaymentsucceeded
16 checkout.session.async_payment_failed Occurs when a delayed payment method fails. stripe_checkout_session_asyncpaymentfailed
17 customer.created Occurs when a new customer is created. stripe_customer_created
18 customer.updated Occurs when any customer property is changed. stripe_customer_updated
19 customer.deleted Occurs when a customer is deleted. stripe_customer_deleted
20 customer.subscription.created Occurs when a customer subscribes to a new plan. stripe_customer_subscription_created
21 customer.subscription.updated Occurs when a subscription is modified (e.g., plan change, status change). stripe_customer_subscription_updated
22 customer.subscription.trial_will_end Occurs three days before a trial ends or when ended immediately (using trial_end=now). stripe_customer_subscription_trialwillend
23 customer.subscription.paused Occurs when a subscription enters status=paused (not just paused payments). stripe_customer_subscription_paused
24 customer.subscription.resumed Occurs when a paused subscription is resumed (Not when payment collection is resumed). stripe_customer_subscription_resumed
25 customer.subscription.deleted Occurs when a  subscription ends. stripe_customer_subscription_deleted
26 payment_intent.created Occurs when a new PaymentIntent is created. stripe_payment_intent_created
27 payment_intent.succeeded Occurs when a PaymentIntent is successfully completed. stripe_payment_intent_succeeded
28 payment_intent.processing Occurs when a PaymentIntent begins processing. stripe_payment_intent_processing
29 payment_intent.canceled Occurs when a PaymentIntent is canceled. stripe_payment_intent_canceled
30 payment_intent.partially_funded Occurs when funds are applied to a customer_balance PaymentIntent and the amount_remaining changes. stripe_payment_intent_partiallyfunded
31 payment_intent.payment_failed Occurs when a PaymentIntent fails to create a payment method or complete a payment. stripe_payment_intent_paymentfailed
32 payment_intent.requires_action Occurs when a PaymentIntent enters a requires_action state. stripe_payment_intent_requiresaction
33 payment_link.created Occurs when a payment link is created. stripe_payment_link_created
34 payment_link.updated Occurs when a payment link is updated. stripe_payment_link_updated
35 payment_method.attached Occurs when a new payment method is attached to a customer. stripe_payment_method_attached
36 payment_method.detached Occurs when a payment method is removed from a customer. stripe_payment_method_detached
37 refund.created Occurs when a refund is initiated. stripe_refund_created refund
38 refund.updated Occurs when a refund is updated. stripe_refund_updated
39 refund.failed Occurs when a refund fails stripe_refund_failed

For each custom event, Paytics sends a detailed set of parameters to GA4, giving you the tools to measure, analyze, and optimize every step of your customers' activities with Stripe. Check the description sections below for more information on the specific parameters included in each event.

Event Descriptions & Parameters

Below are some examples of how these custom events map to GA4 and the parameters they include. For a full breakdown, refer to the detailed sections above for each stripe_* event.

Example: stripe_charge_captured

This event is sent to GA4 when a previously uncaptured charge is successfully captured in Stripe. Key parameters include charge_id, user_id, customer_id, amount, currency, and captured. For a complete list of parameters, refer to the dedicated stripe_charge_captured section above.

Example: stripe_payment_intent_succeeded

This event is triggered when a payment_intent.succeeded event occurs. Depending on your setup, Paytics may also send a purchase event to GA4 for e-commerce revenue tracking. For a full description of the parameters (e.g., payment_intent_id, amount, currency) refer to the stripe_payment_intent_succeeded section.

Example: stripe_customer_subscription_created

This event is triggered when a new subscription is created in Stripe. It includes details like the subscription ID, user ID, status, and a list of subscription items. Check the stripe_customer_subscription_created section for the full list of details.

Description & Parameters for Each Event

Below are the key parameters for each custom event. Use this information to set up your analytics or review customer interactions in GA4.

stripe_charge_captured

The charge.captured event captures the details of a successfully completed payment charge in Stripe. This event is crucial for tracking successful transactions and understanding customer purchase behavior. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
charge_id The unique identifier for the charge in Stripe.
user_id The identifier of the user associated with the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe, typically the same as the user_id if the charge is made by a registered customer.
txn_id The identifier for the balance transaction related to this charge, useful for reconciling payments.
payment_intent_id The identifier for the payment intent created in Stripe for this charge, indicating the intent to process a payment.
amount The amount captured in the charge, formatted as a monetary value. This is important for revenue tracking.
currency The currency in which the charge was made, represented in uppercase (e.g., USD, CAD). This helps in understanding currency-specific transactions.
status The current status of the charge (e.g., succeeded, pending, failed), useful for analyzing the payment flow.
refunded A boolean value indicating whether the charge has been refunded, crucial for tracking refunds in financial reporting.
captured A boolean value indicating whether the charge has been captured, distinguishing between authorized and captured charges.
failure_code (Optional) The code associated with the failure, if the charge was unsuccessful. This can help with troubleshooting payment issues. 

These parameters enable thorough tracking of payment events, offering valuable insights into customer behavior and financial performance.

stripe_charge_succeeded

The stripe_charge_succeeded event captures the details of a successful charge in Stripe. This event is crucial for tracking successful transactions and understanding customer purchase behavior. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
charge_id The unique identifier for the charge in Stripe.
user_id The identifier of the user associated with the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe, typically the same as the user_id if the charge is made by a registered customer.
txn_id The identifier for the balance transaction related to this charge, useful for reconciling payments.
payment_intent_id The identifier for the payment intent created in Stripe for this charge, indicating the intent to process a payment.
amount The amount captured in the charge, formatted as a monetary value. This is important for revenue tracking.
currency The currency in which the charge was made, represented in uppercase (e.g., USD, CAD). This helps in understanding currency-specific transactions.
status The current status of the charge (e.g., succeeded, pending, failed), useful for analyzing the payment flow.
refunded A boolean value indicating whether the charge has been refunded, essential for tracking refunds in financial reporting.
captured A boolean value indicating whether the charge has been captured, distinguishing between authorized and captured charges.
failure_code (Optional) The code associated with the failure, if the charge was unsuccessful. This can help with troubleshooting payment issues. 

These parameters allow for comprehensive tracking of payment events, providing valuable insights into customer behavior and financial performance.

stripe_charge_updated

The stripe_charge_updated event records updates to a charge in Stripe. It helps track changes to existing charges and their impact on customer transactions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
charge_id The unique identifier for the charge in Stripe.
user_id The identifier of the user associated with the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe, typically the same as the user_id if the charge is made by a registered customer.
txn_id The identifier for the balance transaction related to this charge, useful for reconciling payments.
payment_intent_id The identifier for the payment intent created in Stripe for this charge, indicating the intent to process a payment.
amount The amount captured in the charge, formatted as a monetary value. This is important for revenue tracking.
currency The currency in which the charge was made, represented in uppercase (e.g., USD, CAD). This helps in understanding currency-specific transactions.
status The current status of the charge (e.g., succeeded, pending, failed), useful for analyzing the payment flow.
refunded A boolean value indicating whether the charge has been refunded, crucial for tracking refunds in financial reporting.
captured A boolean value indicating whether the charge has been captured, distinguishing between authorized and captured charges.
failure_code (Optional) The code associated with the failure, if the charge was unsuccessful. This can provide insights into payment issues and troubleshooting.

These parameters help track charge updates in detail, offering comprehensive insights into customer behavior and financial performance.

stripe_charge_pending

The stripe_charge_pending event records the details of a charge that is still pending in Stripe. It helps track incomplete transactions and identify potential delays. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
charge_id The unique identifier for the charge in Stripe.
user_id The identifier of the user associated with the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe, typically the same as the user_id if the charge is made by a registered customer.
txn_id The identifier for the balance transaction related to this charge, useful for reconciling payments.
payment_intent_id The identifier for the payment intent created in Stripe for this charge, indicating the intent to process a payment.
amount The amount captured in the charge, formatted as a monetary value. This is important for revenue tracking.
currency The currency in which the charge was made, represented in uppercase (e.g., USD, CAD). This helps in understanding currency-specific transactions.
status The current status of the charge (e.g., succeeded, pending, failed), useful for analyzing the payment flow.
refunded A boolean value indicating whether the charge has been refunded, crucial for tracking refunds in financial reporting.
captured A boolean value indicating whether the charge has been captured, distinguishing between authorized and captured charges.
failure_code (Optional) The code associated with the failure, if the charge was unsuccessful. This can provide insights into payment issues and troubleshooting.

These parameters allow for comprehensive tracking of pending charges, providing valuable insights into customer behavior and financial performance.

stripe_charge_failed

The stripe_charge_failed event captures the details of a charge that has failed in Stripe. It tracks unsuccessful transactions and assists in understanding the reasons behind payment failures. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
charge_id The unique identifier for the charge in Stripe.
user_id The identifier of the user associated with the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe, typically the same as the user_id if the charge is made by a registered customer.
txn_id The identifier for the balance transaction related to this charge, useful for reconciling payments.
payment_intent_id The identifier for the payment intent created in Stripe for this charge, indicating the intent to process a payment.
amount The amount attempted to be captured in the charge, formatted as a monetary value. This is critical for revenue tracking.
currency The currency in which the charge was made, represented in uppercase (e.g., USD, CAD). This helps in understanding currency-specific transactions.
status The current status of the charge (e.g., succeeded, pending, failed), useful for analyzing the payment flow.
refunded A boolean value indicating whether the charge has been refunded, crucial for tracking refunds in financial reporting.
captured A boolean value indicating whether the charge has been captured, distinguishing between authorized and captured charges.
failure_code (Optional) The code associated with the failure, providing insights into the specific reason for the charge failure.

These parameters help track failed charges, offering insights into customer behavior and the reasons behind payment failures.

stripe_charge_expired

The stripe_charge_expired event records details of a charge that has expired in Stripe.  It helps track incomplete transactions and identify potential payment issues. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
charge_id The unique identifier for the charge in Stripe.
user_id The identifier of the user associated with the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe, typically the same as the user_id if the charge is made by a registered customer.
txn_id The identifier for the balance transaction related to this charge, useful for reconciling payments.
payment_intent_id The identifier for the payment intent created in Stripe for this charge, indicating the intent to process a payment.
amount The amount attempted to be captured in the charge, formatted as a monetary value. This is critical for revenue tracking.
currency The currency in which the charge was made, represented in uppercase (e.g., USD, CAD). This helps in understanding currency-specific transactions.
status The current status of the charge (e.g., succeeded, pending, failed), useful for analyzing the payment flow.
refunded A boolean value indicating whether the charge has been refunded, crucial for tracking refunds in financial reporting.
captured A boolean value indicating whether the charge has been captured, distinguishing between authorized and captured charges.
failure_code (Optional) The code associated with the failure, if the charge was unsuccessful. This can help with troubleshooting payment issues. 

These parameters help track expired charges, providing valuable and comprehensive insights into customer behavior and the reasons behind payment failures.

stripe_charge_refunded

The stripe_charge_refunded event records the details of a refunded charge in Stripe.  It helps track refunds and understand customer behavior related to returns and cancellations. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
charge_id The unique identifier for the charge in Stripe.
user_id The identifier of the user associated with the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe, typically the same as the user_id if the charge is made by a registered customer.
txn_id The identifier for the balance transaction related to this charge, useful for reconciling payments.
payment_intent_id The identifier for the payment intent created in Stripe for this charge, indicating the intent to process a payment.
amount The amount refunded from the charge, formatted as a monetary value. This is critical for revenue tracking and understanding the impact of refunds.
currency The currency in which the charge was made, represented in uppercase (e.g., USD, CAD). This helps in understanding currency-specific transactions.
status The current status of the charge (e.g., succeeded, pending, failed), useful for analyzing the payment flow.
refunded A boolean value indicating whether the charge has been refunded. This is essential for tracking the status of refunds.
captured A boolean value indicating whether the charge has been captured, distinguishing between authorized and captured charges.
failure_code (Optional) The code associated with the failure, if applicable. This can provide insights into payment issues and troubleshooting.

These parameters help track refunded charges, offering valuable and comprehensive insights into customer behavior and financial performance.

stripe_charge_dispute_created

The stripe_charge_dispute_created event records the details of a newly created dispute in Stripe. It helps track customer disputes related to transactions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
dispute_id The unique identifier for the dispute in Stripe.
charge_id The identifier for the charge associated with the dispute.
amount The amount in dispute, formatted as a monetary value. This is essential for understanding the financial impact of the dispute.
currency The currency in which the dispute was raised, represented in uppercase (e.g., USD, CAD). This helps in tracking currency-specific transactions.
user_id The identifier of the user who made the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe associated with the charge, typically the same as the user_id.
status The current status of the dispute (e.g., pending, resolved). This helps in analyzing the dispute resolution process.

stripe_charge_dispute_updated

The stripe_charge_dispute_updated event records the details of an updated dispute in Stripe. It helps track changes to existing disputes. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
dispute_id The unique identifier for the dispute in Stripe.
charge_id The identifier for the charge associated with the dispute.
amount The amount in dispute, formatted as a monetary value. This is essential for understanding the financial impact of the dispute.
currency The currency in which the dispute was raised, represented in uppercase (e.g., USD, CAD). This helps in tracking currency-specific transactions.
user_id The identifier of the user who made the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe associated with the charge, typically the same as the user_id.
status The current status of the dispute (e.g., pending, resolved). This helps in analyzing the dispute resolution process.

stripe_charge_dispute_closed

The stripe_charge_dispute_closed event records details of a closed dispute in Stripe. It helps track dispute resolutions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
dispute_id The unique identifier for the dispute in Stripe.
charge_id The identifier for the charge associated with the dispute.
amount The amount in dispute, formatted as a monetary value. This is essential for understanding the financial impact of the dispute.
currency The currency in which the dispute was raised, represented in uppercase (e.g., USD, CAD). This helps in tracking currency-specific transactions.
user_id The identifier of the user who made the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe associated with the charge, typically the same as the user_id.
status The current status of the dispute (e.g., pending, resolved). This helps in analyzing the dispute resolution process.

stripe_charge_dispute_fundswithdrawn

The stripe_charge_dispute_fundswithdrawn event records the details of funds withdrawn due to a dispute in Stripe.  It helps track the financial impact of disputes. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
dispute_id The unique identifier for the dispute in Stripe.
charge_id The identifier for the charge associated with the dispute.
amount The amount withdrawn due to the dispute, formatted as a monetary value. This is critical for understanding the financial implications of the dispute.
currency The currency in which the dispute was raised, represented in uppercase (e.g., USD, CAD). This helps in tracking currency-specific transactions.
user_id The identifier of the user who made the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe associated with the charge, typically the same as the user_id.
status The current status of the dispute (e.g., pending, resolved). This helps in analyzing the dispute resolution process.

stripe_charge_dispute_fundsreinstated

The stripe_charge_dispute_fundsreinstated event records the details of funds reinstated after a dispute resolution in Stripe. It helps track the reversal of funds following disputes. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
dispute_id The unique identifier for the dispute in Stripe.
charge_id The identifier for the charge associated with the dispute.
amount The amount reinstated after the dispute resolution, formatted as a monetary value. This is essential for understanding the financial impact of the dispute.
currency The currency in which the dispute was raised, represented in uppercase (e.g., USD, CAD). This helps in tracking currency-specific transactions.
user_id The identifier of the user who made the charge, which may correspond to a logged-in user.
customer_id The identifier of the customer in Stripe associated with the charge, typically the same as the user_id.
status The current status of the dispute (e.g., pending, resolved). This helps in analyzing the dispute resolution process.

stripe_checkout_session_completed

The stripe_checkout_session_completed event records the details of a completed checkout session in Stripe. It’s important for tracking successful purchases and understanding customer transactions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
session_id The unique identifier for the checkout session in Stripe.
mode The mode of the checkout session (e.g., payment, setup).
status The current status of the checkout session (e.g., completed).
customer_id The identifier of the customer associated with the session, if applicable.
user_id The identifier of the user associated with the session, typically the same as customer_id.
payment_link_id The identifier for the payment link, if applicable.
payment_intent_id The identifier for the payment intent associated with the session, if applicable.
amount The total transaction amount, formatted as a monetary value. This is essential for revenue tracking.
currency The currency in which the payment was made, represented in uppercase (e.g., USD, CAD). This helps track currency-specific transactions.
payment_status The status of the payment (e.g., paid, pending), if applicable.

stripe_checkout_session_expired

The stripe_checkout_session_expired event records the details of a checkout session that expired in Stripe. It helps track sessions that weren’t completed before expiration. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
session_id The unique identifier for the checkout session in Stripe.
mode The mode of the checkout session (e.g., payment, setup).
status The current status of the checkout session (e.g., expired).
customer_id The identifier of the customer associated with the session, if applicable.
user_id The identifier of the user associated with the session, typically the same as customer_id.
payment_link_id The identifier for the payment link, if applicable.
payment_intent_id The identifier for the payment intent associated with the session, if applicable.
amount The total transaction amount, formatted as a monetary value. This is essential for revenue tracking.
currency The currency in which the payment was made, represented in uppercase (e.g., USD, CAD). This helps track currency-specific transactions.
payment_status The status of the payment (e.g., paid, pending), if applicable.

stripe_checkout_session_asyncpaymentsucceeded

The stripe_checkout_session_asyncpaymentsucceeded event records the details of a checkout session where asynchronous payment was successful in Stripe. It’s essential for tracking payments that were processed asynchronously. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
session_id The unique identifier for the checkout session in Stripe.
mode The mode of the checkout session (e.g., payment, setup).
status The current status of the checkout session (e.g., payment succeeded).
customer_id The identifier of the customer associated with the session, if applicable.
user_id The identifier of the user associated with the session, typically the same as customer_id.
payment_link_id The identifier for the payment link, if applicable.
payment_intent_id The identifier for the payment intent associated with the session, if applicable.
amount The total transaction amount, formatted as a monetary value. This is essential for revenue tracking.
currency The currency in which the payment was made, represented in uppercase (e.g., USD, CAD). This helps track currency-specific transactions.
payment_status The status of the payment (e.g., paid, pending), if applicable.

stripe_checkout_session_asyncpaymentfailed

The stripe_checkout_session_asyncpaymentfailed event records the details of a checkout session where asynchronous payment has failed in Stripe. It helps track failed asynchronous payments and identify payment issues. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
session_id The unique identifier for the checkout session in Stripe.
mode The mode of the checkout session (e.g., payment, setup).
status The current status of the checkout session (e.g., payment failed).
customer_id The identifier of the customer associated with the session, if applicable.
user_id The identifier of the user associated with the session, typically the same as customer_id.
payment_link_id The identifier for the payment link, if applicable.
payment_intent_id The identifier for the payment intent associated with the session, if applicable.
amount The total transaction amount, formatted as a monetary value. This is essential for revenue tracking.
currency The currency in which the payment was made, represented in uppercase (e.g., USD, CAD). This helps track currency-specific transactions.
payment_status The status of the payment (e.g., paid, pending), if applicable.

stripe_customer_created

The stripe_customer_created event records details of a newly created customer in Stripe. It helps track new customer registrations and monitor customer acquisition. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
customer_id The unique identifier for the customer in Stripe.
user_id The identifier of the user associated with the customer, typically the same as customer_id.

sign_up

The sign_up event tracks when a user creates an account. It helps understand the different behaviors of logged in and logged out users.

Parameter Description
customer_id The unique identifier for the customer in Stripe.
user_id The identifier of the user associated with the customer, typically the same as customer_id.

stripe_customer_updated

The stripe_customer_updated event records details of an updated customer in Stripe. It helps track changes made to existing customer records. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
customer_id The unique identifier for the customer in Stripe.
user_id The identifier of the user associated with the customer, typically the same as customer_id.

stripe_customer_deleted

The stripe_customer_deleted event records the details of a deleted customer in Stripe.  It helps track customer removals and understand customer churn. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
customer_id The unique identifier for the customer in Stripe.
user_id The identifier of the user associated with the customer, typically the same as customer_id.

sign_up

The sign_up event is sent to GA4 Measurement Protocol when a new customer is created in Stripe. It helps track user registrations effectively.

Parameter Description
user_id The identifier of the user associated with the customer

stripe_customer_subscription_created

The stripe_customer_subscription_created event records details of a newly created subscription in Stripe. It helps track new subscriptions and understand customer engagement. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
subscription_id The unique identifier for the subscription in Stripe.
customer_id The unique identifier for the customer associated with the subscription.
user_id The identifier of the user associated with the subscription, typically the same as customer_id.
status The current status of the subscription (e.g., active, past_due).
items An array of items associated with the subscription, including details about each item. Each item contains the following parameters:
  - id: The unique identifier for the subscription item.
  - plan_id: The identifier of the plan associated with the subscription item, if applicable.
  - plan_name: The nickname or name of the plan, if available.
  - plan_amount: The amount charged for the plan, formatted as a monetary value.
  - plan_currency: The currency in which the plan amount is charged, represented in uppercase (e.g., USD, CAD).
  - price_id: The identifier for the price object associated with the subscription item, if applicable.
  - product_id: The identifier for the product associated with the price object, if applicable.

stripe_customer_subscription_updated

The stripe_customer_subscription_updated event records the details of an updated subscription in Stripe.  It helps track changes made to existing subscriptions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
subscription_id The unique identifier for the subscription in Stripe.
customer_id The unique identifier for the customer associated with the subscription.
user_id The identifier of the user associated with the subscription, typically the same as customer_id.
status The current status of the subscription (e.g., active, past_due).
items An array of items associated with the subscription, including details about each item. Each item contains the following parameters:
  - id: The unique identifier for the subscription item.
  - plan_id: The identifier of the plan associated with the subscription item, if applicable.
  - plan_name: The nickname or name of the plan, if available.
  - plan_amount: The amount charged for the plan, formatted as a monetary value.
  - plan_currency: The currency in which the plan amount is charged, represented in uppercase (e.g., USD, CAD).
  - price_id: The identifier for the price object associated with the subscription item, if applicable.
  - product_id: The identifier for the product associated with the price object, if applicable.

stripe_customer_subscription_trialwillend

The stripe_customer_subscription_trialwillend event records the details of a subscription that is about to end its trial period in Stripe. It helps notify users and prepare for the transition to a paid subscription. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
subscription_id The unique identifier for the subscription in Stripe.
customer_id The unique identifier for the customer associated with the subscription.
user_id The identifier of the user associated with the subscription, typically the same as customer_id.
status The current status of the subscription (e.g., trialing, active).
items An array of items associated with the subscription, including details about each item. Each item contains the following parameters:
  - id: The unique identifier for the subscription item.
  - plan_id: The identifier of the plan associated with the subscription item, if applicable.
  - plan_name: The nickname or name of the plan, if available.
  - plan_amount: The amount charged for the plan, formatted as a monetary value.
  - plan_currency: The currency in which the plan amount is charged, represented in uppercase (e.g., USD, CAD).
  - price_id: The identifier for the price object associated with the subscription item, if applicable.
  - product_id: The identifier for the product associated with the price object, if applicable.

stripe_customer_subscription_paused

The stripe_customer_subscription_paused event records details of a subscription that has been paused in Stripe. It helps track subscription changes and understand customer engagement. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
subscription_id The unique identifier for the subscription in Stripe.
customer_id The unique identifier for the customer associated with the subscription.
user_id The identifier of the user associated with the subscription, typically the same as customer_id.
status The current status of the subscription (e.g., paused).
items An array of items associated with the subscription, including details about each item. Each item contains the following parameters:
  - id: The unique identifier for the subscription item.
  - plan_id: The identifier of the plan associated with the subscription item, if applicable.
  - plan_name: The nickname or name of the plan, if available.
  - plan_amount: The amount charged for the plan, formatted as a monetary value.
  - plan_currency: The currency in which the plan amount is charged, represented in uppercase (e.g., USD, CAD).
  - price_id: The identifier for the price object associated with the subscription item, if applicable.
  - product_id: The identifier for the product associated with the price object, if applicable.

stripe_customer_subscription_resumed

The stripe_customer_subscription_resumed event records the details of a subscription that has been resumed in Stripe. It helps track the reactivation of subscriptions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
subscription_id The unique identifier for the subscription in Stripe.
customer_id The unique identifier for the customer associated with the subscription.
user_id The identifier of the user associated with the subscription, typically the same as customer_id.
status The current status of the subscription (e.g., active).
items An array of items associated with the subscription, including details about each item. Each item contains the following parameters:
  - id: The unique identifier for the subscription item.
  - plan_id: The identifier of the plan associated with the subscription item, if applicable.
  - plan_name: The nickname or name of the plan, if available.
  - plan_amount: The amount charged for the plan, formatted as a monetary value.
  - plan_currency: The currency in which the plan amount is charged, represented in uppercase (e.g., USD, CAD).
  - price_id: The identifier for the price object associated with the subscription item, if applicable.
  - product_id: The identifier for the product associated with the price object, if applicable.

stripe_customer_subscription_deleted

The stripe_customer_subscription_deleted event records the details of a deleted subscription in Stripe. It helps track subscription cancellations and understand customer churn. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
subscription_id The unique identifier for the subscription in Stripe.
customer_id The unique identifier for the customer associated with the subscription.
user_id The identifier of the user associated with the subscription, typically the same as customer_id.
status The current status of the subscription (e.g., active).
items An array of items associated with the subscription, including details about each item. Each item contains the following parameters:
  - id: The unique identifier for the subscription item.
  - plan_id: The identifier of the plan associated with the subscription item, if applicable.
  - plan_name: The nickname or name of the plan, if available.
  - plan_amount: The amount charged for the plan, formatted as a monetary value.
  - plan_currency: The currency in which the plan amount is charged, represented in uppercase (e.g., USD, CAD).
  - price_id: The identifier for the price object associated with the subscription item, if applicable.
  - product_id: The identifier for the product associated with the price object, if applicable.

stripe_payment_intent_created

The stripe_payment_intent_created event records the details of a newly created payment intent in Stripe. It helps track the initiation of payment processes. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_intent_id The unique identifier for the payment intent in Stripe.
source_id The identifier for the source (e.g., card, bank account) used for the payment.
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
status The current status of the payment intent (e.g., requires_payment_method, requires_confirmation).
currency The currency in which the payment is made, represented in uppercase (e.g., USD, CAD).
amount The amount of the payment intent, formatted as a monetary value. This is essential for revenue tracking.

stripe_payment_intent_processing

The stripe_payment_intent_processing event records the details of a payment intent that is currently being processed in Stripe. It helps track the ongoing payment process. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_intent_id The unique identifier for the payment intent in Stripe.
source_id The identifier for the source used for the payment.
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
status The current status of the payment intent (e.g., processing).
currency The currency in which the payment is made, represented in uppercase (e.g., USD, CAD).
amount The amount of the payment intent, formatted as a monetary value. This is essential for revenue tracking.

stripe_payment_intent_canceled

The stripe_payment_intent_canceled event crecords details of a canceled payment intent in Stripe. It helps track payment cancellations and understand customer behavior. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_intent_id The unique identifier for the payment intent in Stripe.
source_id The identifier for the source used for the payment.
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
status The current status of the payment intent (e.g., canceled).
currency The currency in which the payment is made, represented in uppercase (e.g., USD, CAD).
amount The amount of the payment intent, formatted as a monetary value. This is essential for revenue tracking.

stripe_payment_intent_partiallyfunded

The stripe_payment_intent_partiallyfunded event records the details of a payment intent that has been partially funded in Stripe. It helps understand situations where payments are not fully completed. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_intent_id The unique identifier for the payment intent in Stripe.
source_id The identifier for the source used for the payment.
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
status The current status of the payment intent (e.g., partially funded).
currency The currency in which the payment is made, represented in uppercase (e.g., USD, CAD).
amount The amount of the payment intent, formatted as a monetary value. This is essential for revenue tracking.

stripe_payment_intent_paymentfailed

The stripe_payment_intent_paymentfailed event records the details of a payment intent where the payment has failed in Stripe. It helps track payment failures and understand the reasons behind unsuccessful transactions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_intent_id The unique identifier for the payment intent in Stripe.
source_id The identifier for the source used for the payment.
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
status The current status of the payment intent (e.g., payment failed).
currency The currency in which the payment is made, represented in uppercase (e.g., USD, CAD).
amount The amount of the payment intent, formatted as a monetary value. This is essential for revenue tracking.

stripe_payment_intent_requiresaction

The stripe_payment_intent_requiresaction event records the details of a payment intent that requires further action from the customer to complete the payment. It helps understand situations where user interaction is needed to finalize transactions. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_intent_id The unique identifier for the payment intent in Stripe.
source_id The identifier for the source used for the payment.
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
status The current status of the payment intent (e.g., requires action).
currency The currency in which the payment is made, represented in uppercase (e.g., USD, CAD).
amount The amount of the payment intent, formatted as a monetary value. This is essential for revenue tracking.

stripe_payment_intent_succeeded

The stripe_payment_intent_succeeded event records the details of a successfully completed payment intent in Stripe. When this event occurs, two events are sent to GA4 Measurement Protocol: the purchase event and the stripe_payment_intent_succeeded event.

purchase

The purchase event captures details related to the purchase transaction. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
currency The currency in which the transaction is made, represented in uppercase (e.g., USD, CAD).
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
transaction_id The unique identifier for the payment intent in Stripe.
value The total value of the transaction, formatted as a monetary value. This is critical for revenue tracking.
shipping The shipping cost associated with the invoice, if applicable.
tax The tax amount applied to the invoice, if applicable.
coupon A list of discount IDs applied to the invoice, if any discounts were used.
items An array of items included in the purchase, with details about each item. Each item object contains the following parameters:
  - id: The unique identifier for the item in the purchase.
  - product_id: The unique identifier for the product associated with the item, if applicable.
  - name: The name of the product or service being purchased.
  - amount: The price of the individual item, formatted as a monetary value.
  - currency: The currency in which the item's price is charged, represented in uppercase (e.g., USD, CAD).
  - quantity: The number of units of the item being purchased. This is important for calculating the total cost for that item.
  - discount: (Optional) Any discounts applied to the item, if applicable.

stripe_payment_intent_succeeded

The stripe_payment_intent_succeeded event captures the details of a successfully completed payment intent.  Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_intent_id The unique identifier for the payment intent in Stripe.
source_id The identifier for the source used for the payment (e.g., card, bank account).
customer_id The unique identifier for the customer associated with the payment intent.
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
status The current status of the payment intent (e.g., succeeded).
currency The currency in which the payment is made, represented in uppercase (e.g., USD, CAD).
amount The amount of the payment intent, formatted as a monetary value. This is essential for revenue tracking.

The stripe_payment_link_created event captures the details of a newly created payment link in Stripe. This event helps track the creation of payment links and their usage. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_link_id The unique identifier for the payment link in Stripe.
currency The currency in which the payment link is set, represented in uppercase (e.g., USD, CAD).

The stripe_payment_link_updated event captures the details of an updated payment link in Stripe. This event helps track changes made to existing payment links. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_link_id The unique identifier for the payment link in Stripe.
currency The currency in which the payment link is set, represented in uppercase (e.g., USD, CAD).

stripe_payment_method_attached

The stripe_payment_method_attached event captures the details of a payment method attached to a customer in Stripe. This event is important for tracking the addition of payment methods to customer accounts. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_method_id The unique identifier for the payment method in Stripe.
customer_id The unique identifier for the customer associated with the payment method.
user_id The identifier of the user associated with the payment method, typically the same as customer_id.
type The type of the payment method (e.g., card, bank account).

stripe_payment_method_detached

The stripe_payment_method_detached event captures the details of a payment method that has been detached from a customer in Stripe. This event is important for tracking the removal of payment methods from customer accounts. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
payment_method_id The unique identifier for the payment method in Stripe.
customer_id The unique identifier for the customer associated with the payment method.
user_id The identifier of the user associated with the payment method, typically the same as customer_id.
type The type of the payment method (e.g., card, bank account).

stripe_refund_created

The stripe_refund_created event records the details of a newly created refund in Stripe. This event is essential for tracking customer-initiated refunds and understanding patterns in returns and cancellations. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
refund_id The unique identifier for the refund in Stripe.
customer_id The unique identifier for the customer associated with the refund.
user_id The identifier of the user associated with the refund, typically the same as customer_id.
charge_id The identifier for the charge associated with the refund.
payment_intent_id The identifier for the payment intent related to the refund.
amount The amount of the refund, formatted as a monetary value (represented as a negative value).
currency The currency in which the refund is processed, represented in uppercase (e.g., USD, CAD).
status The current status of the refund (e.g., pending, succeeded).
reason The reason for the refund (e.g., requested_by_customer).
failure_reason The reason for failure, if applicable (e.g., insufficient_funds).

refund

The refund event tracks when items are refunded to a customer. It helps monitor returns and the impact on sales.

Parameter Description
currency The currency in which the transaction is made, represented in uppercase (e.g., USD, CAD).
user_id The identifier of the user associated with the payment intent, typically the same as customer_id.
transaction_id The unique identifier for the payment intent in Stripe.
value The total value of the transaction, formatted as a monetary value. This is critical for revenue tracking.

stripe_refund_updated

The stripe_refund_updated event tracks updates to refunds in Stripe. It helps monitor changes to existing refunds and ensures accurate financial reporting. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
refund_id The unique identifier for the refund in Stripe.
customer_id The unique identifier for the customer associated with the refund.
user_id The identifier of the user associated with the refund, typically the same as customer_id.
charge_id The identifier for the charge associated with the refund.
payment_intent_id The identifier for the payment intent related to the refund.
amount The amount of the refund, formatted as a monetary value (represented as a negative value).
currency The currency in which the refund is processed, represented in uppercase (e.g., USD, CAD).
status The current status of the refund (e.g., pending, succeeded).
reason The reason for the refund (e.g., requested_by_customer).
failure_reason The reason for failure, if applicable (e.g., insufficient_funds).

stripe_refund_failed

The stripe_refund_failed event tracks when a refund attempt fails in Stripe. It helps identify and understand issues with refund requests. Below are the parameters sent to Google Analytics 4 (GA4) when this event occurs:

Parameter Description
refund_id The unique identifier for the refund in Stripe.
customer_id The unique identifier for the customer associated with the refund.
user_id The identifier of the user associated with the refund, typically the same as customer_id.
charge_id The identifier for the charge associated with the refund.
payment_intent_id The identifier for the payment intent related to the refund.
amount The amount of the refund, formatted as a monetary value (represented as a negative value).
currency The currency in which the refund is processed, represented in uppercase (e.g., USD, CAD).
status The current status of the refund (e.g., failed).
reason The reason for the refund (e.g., requested_by_customer).
failure_reason The reason for failure, if applicable (e.g., insufficient_funds).

Note: These custom events enhance your existing analytics by providing more detailed data on transactions like purchases or refunds. For even deeper tracking, you can add custom logic or extra parameters.

Summary

By leveraging Google Analytics Measurement Protocol custom events, you gain a comprehensive view of how users interact with your Stripe activities, including charges, subscriptions and disputes. These events give you rich data to track financial performance, user engagement, and customer behavior with exceptional detail. When combined with your GA4 dashboards, they provide a unified, actionable analytics strategy.