Ecommerce Performance Monitoring & Error Tracking

Whether it’s a slow product page on mobile, a JS error breaking your cart, or a third-party integration that ghosted mid-sale, Sentry helps you understand what's broken so you can fix it faster.

Ecommerce Performance Monitoring & Error Tracking

Tolerated by 4 million developers

  • Disney
  • Instacart
  • Duolingo
  • Tonal
  • Gorgias
  • Eventbrite

Catch & Fix Bugs Fast

Find and fix all kinds of errors (before they hurt your bottom line)

From JS errors in the product grid to image loading failures on mobile and third-party payment script issues during checkout, Sentry automatically captures and groups every type of error in your ecommerce stack.

No need to wade through noisy logs or duplicate reports. Just clear visibility into what broke, how often, and who it’s affecting.

Learn about Error Monitoring
Find and fix all kinds of errors (before they hurt your bottom line)

Get the full context behind every issue

When a customer clicks ‘Place Order’ and nothing happens, you need to know what went wrong, not just that it’s broken. Sentry gives you the ‘how’ and ‘why’. You get context like:

  • Full stack traces

  • Breadcrumbs

  • Device & user details

  • Suspect commits that likely caused the issue

- all at a glance so you can identify issue owners and the root cause faster.

Learn about Issue Details in Sentry

See exactly what your customers see with Session Replay

Your logs show a spike in drop-offs in your checkout flow when using a discount code, but no clear errors. With Session Replay, you can see a video reproduction of exactly what the user saw: the taps, screens, scrolls, and UI state. Get a clear view of what went wrong, with the connected context to fix it.

Learn about Session Replay

Optimize Performance

Automatically root cause your issues

Automatically root cause your issues

A customer gets a blank screen after applying a discount code. Seer, Sentry’s AI debugger,  analyzes the error, reviews your codebase, and submits a PR fix based on all of your app’s context. It’s AI that’s actually helpful at fixing things. 

Learn about Seer

Find the cause of performance issues from sign-in to checkout

A shopper clicks “Add to Cart” and waits… and waits. Sentry’s distributed tracing shows exactly where the slowdown happens, whether it’s a delayed API response, a stuck database query, or a third-party script blocking the UI. You get a full view of the request journey, from the browser to the backend, so you can identify problems faster.

Learn about Tracing
Debug app performance down to the code level

Debug app performance down to the code level

Your product detail page loads fine (until you try to scroll). Sentry’s code-level profiling shows a React component stuck in a re-render loop, spiking CPU and tanking performance on mobile. Now you know exactly which function to fix to speed up your most valuable pages.

Learn about profiling

Language and Framework Support

Real-Time Monitoring for your Shopify storefront

From Hydrogen to headless storefronts, Sentry gives you the tools to monitor and debug every part of your Shopify stack. See what users are experiencing, catch runtime errors early, and resolve issues fast.

Learn about Sentry for Hydrogen
Real-Time Monitoring for your Shopify storefront

Monitoring that keeps up with flash sales and borked buttons across frameworks

Application performance monitoring built specifically for modern frameworks. Sentry integrates directly with Next.js, React, Vue, and other popular languages and frameworks, so you can catch errors, measure performance, and understand user impact, without stitching together a dozen plugins.

Learn about frontend SDKs
Monitoring that keeps up with flash sales and borked buttons across frameworks

Keep your mobile experiences smooth from sign-in to checkout

Don’t wait for your users to tell you about issues in your ecommerce app. Sentry gives you full visibility into your mobile apps, from Flutter to React Native to iOS and Android. Crashes, UI hangs, performance bottlenecks—everything your team needs to protect the mobile customer experience, in one place and in real time.

Learn about support for mobile
Keep your mobile experiences smooth from sign-in to checkout

Getting started with Sentry is simple

We support every technology (except the ones we don't).
Get started with just a few lines of code.

Just run this command to sign up for and install Sentry.

Copied!Click to Copy
npx @sentry/wizard@latest -i android

Just run this command to sign up for and install Sentry.

Copied!Click to Copy
brew install getsentry/tools/sentry-wizard && sentry-wizard -i ios

Sign-up and install Sentry with just one line of code:

Copied!Click to Copy
npx @sentry/wizard@latest -i flutter

Grab the Sentry Node SDK:

Copied!Click to Copy
npm install @sentry/node

Configure your SDK:

Copied!Click to Copy
const Sentry = require('@sentry/node');
Sentry.init({ dsn: 'https://<key>@sentry.io/<project>' });

Grab the Sentry React SDK:

Copied!Click to Copy
npm install @sentry/react

We recommend putting the Sentry initialization code into its own file and including that file as the first import in your application entry point as shown in the example below:

Copied!Click to Copy
import { useEffect } from "react";
import * as Sentry from "@sentry/react";

Sentry.init({
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
  integrations: [
  ],
  // Set `tracePropagationTargets` to control for which URLs trace propagation should be enabled
  tracePropagationTargets: [/^\//, /^https:\/\/yourserver\.io\/api/],
});

Include the Sentry initialization file as the first import statement:

Copied!Click to Copy
// Sentry initialization should be imported first!
import "./instrument";
import App from "./App";
import { createRoot } from "react-dom/client";

const container = document.getElementById(“app”);
const root = createRoot(container);
root.render(<App />);

Grab the Sentry JavaScript SDK:

Copied!Click to Copy
<script src="https://browser.sentry-cdn.com/<VERSION>/bundle.min.js"></script>

Configure your DSN:

Copied!Click to Copy
Sentry.init({ dsn: 'https://<key>@sentry.io/<project>',
  // This enables automatic instrumentation (highly recommended),
  // but is not necessary for purely manual usage
  // If you only want to use custom instrumentation:
  // * Remove the BrowserTracing integration
  // * add Sentry.addTracingExtensions() above your Sentry.init() call
  integrations: [Sentry.browserTracingIntegration()],

  // We recommend adjusting this value in production, or using tracesSampler
  // for finer control
  tracesSampleRate: 1.0,

  // Set tracePropagationTargets to control for which URLs distributed tracing should be enabled
  tracePropagationTargets: ['localhost', /^https://yourserver.io/api/],
});

Install the sentry/sentry-laravel package with Composer:

Copied!Click to Copy
composer require sentry/sentry-laravel

Add Sentry reporting to bootstrap/app.php:

Copied!Click to Copy
<?php

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use Sentry\Laravel\Integration;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        //
    })
    ->withExceptions(function (Exceptions $exceptions) {
        Integration::handles($exceptions);
    })->create();

Enable Sentry Tracing in config/sentry.php:

Copied!Click to Copy
// Specify a fixed sample rate:
'traces_sample_rate' => 0.2,
// Or provide a custom sampler:
'traces_sampler' => function (SentryTracingSamplingContext $context): float {
    // return a number between 0 and 1
},

Run this Artisan command to configure the Sentry DSN:

Copied!Click to Copy
php artisan sentry:publish --dsn=<paste-your-DSN-here>

Grab the Sentry Vue SDK:

Copied!Click to Copy
npm install @sentry/vue

Configure your DSN:

Copied!Click to Copy
import { createApp } from "vue";
import * as Sentry from "@sentry/vue";

const app = createApp({
  // ...
});

Sentry.init({
  app,
  dsn: "https://<key>@sentry.io/<project>"",
  // This enables automatic instrumentation (highly recommended),
  // but is not necessary for purely manual usage
  // If you only want to use custom instrumentation:
  // * Remove the BrowserTracing integration
  // * add Sentry.addTracingExtensions() above your Sentry.init() call
  integrations: [Sentry.browserTracingIntegration()],

  // We recommend adjusting this value in production, or using tracesSampler
  // for finer control
  tracesSampleRate: 1.0,
  // Set tracePropagationTargets to control for which URLs distributed tracing should be enabled
  tracePropagationTargets: ['localhost', /^https://yourserver.io/api/],
});

app.mount("#app");

To use the SDK, initialize Sentry in your Svelte entry point main.js before you bootstrap your Svelte app:

Copied!Click to Copy
// main.js / main.ts

import App from "./App.svelte";

import * as Sentry from "@sentry/svelte";
import { BrowserTracing } from "@sentry/tracing";

// Initialize the Sentry SDK here
Sentry.init({
  dsn: "__DSN__",
  release: "my-project-name@2.3.12",
  integrations: [new BrowserTracing()],

  // This enables automatic instrumentation (highly recommended),
  // but is not necessary for purely manual usage
  // If you only want to use custom instrumentation:
  // * Remove the BrowserTracing integration
  // * add Sentry.addTracingExtensions() above your Sentry.init() call
  integrations: [Sentry.browserTracingIntegration()],

  // We recommend adjusting this value in production, or using tracesSampler
  // for finer control
  tracesSampleRate: 1.0,

  // Set tracePropagationTargets to control for which URLs distributed tracing should be enabled
  tracePropagationTargets: ['localhost', /^https://yourserver.io/api/],
});

// Then bootstrap your Svelte app
const app = new App({
  target: document.getElementById("app"),
});

export default app;

See -- it's really just one command.

Copied!Click to Copy
npx @sentry/wizard@latest -i nextjs
"A lot of solutions do error monitoring, but Sentry goes the extra mile when it comes to details."
Gorgias
Using Sentry, Gorgias is able to deliver:
10

Daily Deployments

99%

Uptime

Hours

To incident resolution

Read More

Check out more content:

Fix It

Get started with the only application monitoring platform that empowers developers to fix application problems without compromising on velocity.