5 min read

What Is Conversion Rate in Google Analytics 4

Conversion rate is one of the most important metrics for any business, but GA4 calculates it differently than Universal Analytics—and many teams misunderstand how it works. Conversion rate in GA4 is the percentage of sessions that include at least one conversion event. If you're not measuring it correctly, you could be flying blind on what actually drives your business.

How GA4 Defines Conversion Rate

GA4 conversion rate is fundamentally different from UA. It's not about individual users; it's about sessions.

Understand the GA4 calculation

Conversion rate in GA4 = (Sessions with conversions / Total sessions) × 100. GA4 counts a session as converting if it contains at least one event marked as a conversion. This is different from Universal Analytics, which measured conversions at the user level. A single user can have multiple converting sessions, and each counts separately.

javascript
// GA4 conversion calculation example
// If you have 1000 sessions and 50 of them contain a purchase event
// Conversion rate = (50 / 1000) * 100 = 5%

// Every event marked as a conversion in GA4 Admin contributes to this calculation
// You can view this in the GA4 interface under Reports > Engagement > Conversions
GA4 counts sessions with at least one conversion event

Know what counts as a conversion event

Not every event is a conversion. You must explicitly mark events as conversions in the GA4 Admin panel. Go to Admin > Events and toggle Mark as conversion for the events you care about. Common conversion events include purchase, sign_up, contact, submit_form, and download.

javascript
// Standard GA4 conversion events (these are predefined)
gtag('event', 'purchase', {
  currency: 'USD',
  value: 99.99
});

gtag('event', 'sign_up', {
  method: 'google'
});

gtag('event', 'submit_form', {
  form_name: 'contact_us'
});
Send conversion events via gtag. Mark them as conversions in GA4 Admin.
Watch out: GA4 processes events with a delay. It can take 24-48 hours for conversions to appear in your reports, especially for newly marked conversion events.

Setting Up Conversion Tracking

Conversion rate is only meaningful if you're tracking the right events. Here's how to get it working.

Send conversion events with gtag.js

Use the gtag() function to fire conversion events on your website. This works for any action you want to measure—purchases, signups, downloads, demo requests, whatever matters to your business. The event name must match what you'll mark as a conversion in GA4.

javascript
// Track a purchase conversion
gtag('event', 'purchase', {
  currency: 'USD',
  value: 49.99,
  items: [{
    item_id: 'SKU123',
    item_name: 'Premium Plan',
    price: 49.99,
    quantity: 1
  }]
});

// Track a sign-up conversion
gtag('event', 'sign_up', {
  method: 'email'
});

// Track a form submission
gtag('event', 'submit_form', {
  form_name: 'contact_us'
});
Send conversion events with relevant parameters

Mark events as conversions in GA4 Admin

Sending the event is half the battle. You also need to tell GA4 that this event counts as a conversion. Navigate to Admin > Events in your GA4 property, find the event you just created, and toggle the Mark as conversion switch. Only events marked as conversions contribute to your conversion rate.

javascript
// After marking an event as conversion in Admin > Events,
// GA4 will start counting sessions with this event toward your conversion rate

// Check which events are marked as conversions via the GA4 Admin API
const response = await fetch(
  'https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID/conversionEvents',
  {
    method: 'GET',
    headers: {
      'Authorization': `Bearer ACCESS_TOKEN`,
      'Content-Type': 'application/json'
    }
  }
);

const conversionEvents = await response.json();
console.log(conversionEvents);
List all conversion events marked in your GA4 property
Tip: GA4 comes with several auto-tracked conversion events like purchase. Check Admin > Events to see what's already enabled before creating custom ones.

Viewing and Reporting on Conversion Rate

Once you're tracking conversions, you need to see the data. GA4 makes this straightforward.

Find conversion rate in GA4 Reports

The easiest way to see conversion rate is through the GA4 Reports > Engagement > Conversions view. This shows your total conversions, conversion rate, and a breakdown by conversion event. You can also add conversion rate to any custom report by selecting the Conversion rate metric.

javascript
// Query conversion rate using the GA4 Data API
const response = await fetch(
  'https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ACCESS_TOKEN`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      dateRanges: [{
        startDate: '2024-01-01',
        endDate: '2024-01-31'
      }],
      metrics: [
        { name: 'conversions' },
        { name: 'sessions' },
        { name: 'conversionRate' }
      ]
    })
  }
);

const reportData = await response.json();
console.log(`Conversion Rate: ${reportData.rows[0].metricValues[2].value}%`);
Fetch conversion rate programmatically with the GA4 Data API

Segment conversion rate by dimension

Don't just look at overall conversion rate. Break it down by source/medium, device, landing page, or custom dimensions to see where your conversions actually come from. This tells you which traffic sources and user segments are actually valuable.

javascript
// Query conversion rate by traffic source and device
const response = await fetch(
  'https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ACCESS_TOKEN`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      dateRanges: [{
        startDate: '2024-01-01',
        endDate: '2024-01-31'
      }],
      metrics: [
        { name: 'conversionRate' },
        { name: 'conversions' },
        { name: 'sessions' }
      ],
      dimensions: [
        { name: 'sessionSourceMedium' },
        { name: 'deviceCategory' }
      ]
    })
  }
);

const data = await response.json();
data.rows.forEach(row => {
  console.log(`${row.dimensionValues[0].value}: ${row.metricValues[0].value}%`);
});
Break down conversion rate by traffic source and device type
Watch out: GA4 conversion rate only counts sessions, not unique users. A user with two converting sessions in the same period counts as two conversions.

Common Pitfalls

  • Not marking events as conversions in GA4 Admin—you can send events all day, but they won't count toward conversion rate if they're not explicitly marked as conversions.
  • Confusing sessions with users—GA4 conversion rate is (sessions with conversions / total sessions), not (users with conversions / total users). One user can contribute multiple conversions across different sessions.
  • Expecting real-time conversion rate data—GA4 has a 24-48 hour reporting lag, especially for newly created conversion events. Your conversion rate today is actually data from 1-2 days ago.
  • Including bot traffic in conversion rate—GA4's bot filtering isn't perfect. Enable Admin > Data Streams > Enhanced measurement > Exclude bot traffic to avoid inflated conversion counts from automated traffic.

Wrapping Up

Conversion rate in GA4 is straightforward once you understand that it's session-based, not user-based, and that you must explicitly mark events as conversions. Track the right events, mark them in GA4 Admin, and segment by dimension to understand where your actual value comes from. If you want to track conversion rate automatically across multiple tools and tie it to your business outcomes, Product Analyst can help.

Track these metrics automatically

Product Analyst connects to your stack and surfaces the insights that matter.

Try Product Analyst — Free