Google Analytics Audit Test #

15

(not set) Item at 'add_payment_info'

Why It Matters:

Critical to understanding friction in the checkout process on a product-by-product level.

Industries:

Ecommerce

Checks For:

Accuracy

How accurate is your recent data?

Insight Category:

Behavior

Can you tell what visitors are doing?

Google Analytics Audit logo

Background

A GA4 audit is essential for uncovering missing insights—key data points that organizations don't yet know and can act upon. A well-done audit evaluates both behavioral tracking and traffic attribution, ensuring each is accurate and useful. It also assesses whether the data collected truly supports business decisions and reporting.

Test Detail

This test checks whether add_payment_info events are firing without complete item metadata, such as missing item_id or item_name, which may show as (not set) in reports.

This signals that users are reaching the payment step of checkout, but GA4 doesn’t know which products are being purchased—causing:

  • Incomplete funnel visibility
  • Broken product-level attribution
  • Loss of insight into cart-to-payment drop-offs
  • Impaired ability to analyze product performance across checkout

Check This Test for Free! Instantly.

Our free instant audit tool checks for 90 issues in 90 seconds.

Then gives you a prioritized list of items to tackle.

No cost, no sales call... just free goodness.

Google Analytics audit test results.

How to Conduct This Test

Basic Tests

  • In GA4 > Explore, build a Free-form report:
    • Dimensions: Item name, Item ID, Event name
    • Filter for event_name = add_payment_info
    • Look for (not set) in item-related dimensions
  • In Reports > Monetization > Checkout Behavior, scan for products or steps showing "(not set)" as the item name

Advanced QA

  • In BigQuery, run the below query:
    SELECT ep.key, ep.value.string_value, COUNT(*) AS event_count
    FROM `your_dataset.events_*`,
         UNNEST(event_params) AS ep
    WHERE event_name = 'add_payment_info'
      AND (ep.key = 'item_name' OR ep.key = 'item_id')
      AND (ep.value.string_value IS NULL OR ep.value.string_value = '(not set)')
    GROUP BY ep.key, ep.value.string_value;
  • Seeing a high count of (not set) items during payment steps? That means you’re losing key product data at a critical moment.

Automated, Free Audit

Want to catch this fast? Run our Instant Audit

Or hire a pro to QA your checkout tracking and product attribution.

How To Fix

Fixing 'add_payment_info' events with (not set) items

  • Use the recommended push to the dataLayer, ensuring the items array is complete:
    gtag('event', 'add_payment_info', {
      currency: 'USD',
      value: 89.99,
      payment_type: 'credit_card',
      items: [
        {
          item_id: 'SKU_45678',
          item_name: 'Bluetooth Speaker',
          quantity: 1
        }
      ]
    });
  • In Google Tag Manager, make sure:
    • The data layer carries over all necessary product metadata to the payment step
    • Your add_payment_info tag maps to the items array and doesn’t rely on unavailable page-level variables

QA Tips

  • Validate in DebugView:
    • Check that add_payment_info events include all product details
    • Hire a pro to patch gaps in your ecommerce funnel tracking and unlock full visibility into what drives conversions.