# Shopify + Google Analytics 4 integration and analysis

Connect Shopify and Google Analytics 4 to Hendrik. Compare GA4 observed acquisition and landing activity with Shopify orders to separate site measurement from store outcomes.

## The question this stack can answer

Did the website journey change before Shopify orders did?

## What Hendrik reads from each source

- **Shopify:** Orders, refunds, payment status, product cost coverage, and location inventory show what happened in the store.
- **Google Analytics 4:** Traffic acquisition, landing pages, and on site events show where the website journey changed.

## What you need to connect

- Use one explicit 28-day comparison window, time zone, market, and legal-entity scope before comparing values.
- Connected Shopify order, refund, and inventory data for the same store and comparison window.
- Connected GA4 property with comparable acquisition and event reporting.
- Keep provider-specific definitions visible and use an identity or product mapping only where it is established for this workspace.

## Important limits

- Declared UTM text is not a verified ad-platform campaign identity; cost coverage and provenance control any margin claim.
- GA4 events and attribution do not automatically establish a paid order, payment, or campaign relationship.

## Illustrative example

### Shopify + Google Analytics 4 review

Previous: 1–28 January. Current: 29 January–25 February. Both periods contain 28 days. Monetary values use USD and all timestamps use UTC.

*About this example: Synthetic data · illustrative analysis · Hendrik only acts with the permissions you give it.*

- net order value (USD, 28 days) (Shopify): 110,000 USD → 106,000 USD
- reported purchase events (count, 28 days) (Google Analytics 4): 1,420 → 1,230
- refund value (USD, orders from the prior 28-day cohort) (Shopify): 6,800 USD → 9,200 USD
- GA4 paid sessions (configured channel group, consecutive 28-day periods) (Google Analytics 4): 16,800 → 15,300

### What Hendrik checks

- **Order and refund cohorts:** Compare Shopify net order value with refunds by original order cohort. Keep paid status and the store currency visible.
- **Traffic measurement:** Check GA4 property, timezone, consent coverage, source definition, and event configuration before comparing sessions or transactions.
- **Explain the divergence:** Shopify: net order value (USD, 28 days) changed from 110,000 USD to 106,000 USD. Google Analytics 4: reported purchase events (count, 28 days) changed from 1,420 to 1,230. Compare the timing and definitions before attributing one change to the other.

### What Hendrik sees

Shopify net order value fell and refund value rose. GA4 reported purchase events and paid sessions fell.

### What to do next

Check the measurement gap before changing acquisition spend; reassess when GA4 coverage and Shopify outcome definitions are stable.

**Limit:** GA4 transactions and Shopify orders are separate measures unless an exact relationship is established.

## Provider documentation

- [Shopify documentation](https://help.shopify.com/en/manual/reports-and-analytics)
- [Google Analytics 4 documentation](https://support.google.com/analytics/)

## Start with this stack

[Create a workspace and connect Shopify + Google Analytics 4](https://app.withhendrik.com/auth?mode=sign-up&acquisition_channel=marketing&return_to=%2Fonboarding%2Factivation&cta_location=integration_markdown&landing_page_id=combination-shopify-ga4&combination=shopify-ga4)
