Skip to content

Commit 546c24a

Browse files
authored
🪟 Add Segment event for 'Buy Credits' (#15366)
* add segment event for "Buy credits" button * update event's name for checkout process
1 parent c39a7c4 commit 546c24a

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

airbyte-webapp/src/core/analytics/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export const enum Namespace {
1414
CONNECTOR = "Connector",
1515
ONBOARDING = "Onboarding",
1616
USER = "User",
17+
CREDITS = "Credits",
1718
}
1819

1920
export const enum Action {
@@ -34,6 +35,7 @@ export const enum Action {
3435
PREFERENCES = "Preferences",
3536
NO_MATCHING_CONNECTOR = "NoMatchingConnector",
3637
SELECTION_OPENED = "SelectionOpened",
38+
CHECKOUT_START = "CheckoutStart",
3739
}
3840

3941
export type EventParams = Record<string, unknown>;

airbyte-webapp/src/packages/cloud/views/credits/CreditsPage/components/RemainingCredits.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import styled from "styled-components";
99
import { Button, LoadingButton } from "components";
1010

1111
import { useConfig } from "config";
12+
import { Action, Namespace } from "core/analytics";
13+
import { useAnalyticsService } from "hooks/services/Analytics";
1214
import { useCurrentWorkspace } from "hooks/services/useWorkspace";
1315
import { CloudWorkspace } from "packages/cloud/lib/domain/cloudWorkspaces/types";
1416
import { useStripeCheckout } from "packages/cloud/services/stripe/StripeService";
@@ -67,6 +69,7 @@ const RemainingCredits: React.FC<Props> = ({ selfServiceCheckoutEnabled }) => {
6769
const [searchParams, setSearchParams] = useSearchParams();
6870
const invalidateWorkspace = useInvalidateCloudWorkspace(currentWorkspace.workspaceId);
6971
const { isLoading, mutateAsync: createCheckout } = useStripeCheckout();
72+
const analytics = useAnalyticsService();
7073
const [isWaitingForCredits, setIsWaitingForCredits] = useState(false);
7174

7275
useEffectOnce(() => {
@@ -107,6 +110,9 @@ const RemainingCredits: React.FC<Props> = ({ selfServiceCheckoutEnabled }) => {
107110
successUrl: successUrl.href,
108111
cancelUrl: window.location.href,
109112
});
113+
await analytics.track(Namespace.CREDITS, Action.CHECKOUT_START, {
114+
actionDescription: "Checkout Start",
115+
});
110116
// Forward to stripe as soon as we created a checkout session successfully
111117
window.location.assign(stripeUrl);
112118
};

0 commit comments

Comments
 (0)