Skip to content
Academy
Marketing Academy · Field Work●Analytics & Attribution
MiniBuild the Asset· 30 minutes

Ship It Before Tag Manager: Building Chewy's Conversion Inventory

Chewy

Objective: Write a complete conversion inventory, plain-English event list, GA4-recommended names, and key-event flags, for Chewy's Autoship subscription funnel before any tag fires.

You're the analytics lead at Chewy about to launch Autoship subscription tracking. The dev team wants a written event spec before they touch Google Tag Manager, not a verbal description in a Slack thread.

List every real conversion in plain English first, then map each one to a GA4-recommended event name.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeBuild and rank the plain-English conversion inventory

No account friction, hand-off ready for a dev ticket

FreeCheck the recommended-events list and verify final names in DebugView

Free, and it's the destination platform

The process

2 steps

Step 01 of 02

Writing a conversion inventory before opening a tag manager

The lesson's playbook step 1 says to list every event that matters, in plain English, before touching a tag manager, and assign each a monetary value even if estimated.

Chewy's Autoship funnel has these real moments: a pet-food subscription signup, a first-box ship, a subscription pause, and a subscription cancel. Which get a monetary value, and which are just tracking signals?

Google Sheets— A new blank sheet, one row per real user action, columns for plain-English name, value, and priority.

Procedure

  1. List every distinct action a subscriber takes, in plain English, no tool-specific jargon
  2. Assign an estimated monetary value to signup and first-box-ship using average order value
  3. Mark pause and cancel as tracking signals with no positive value, useful for churn analysis, not for bidding
  4. Rank the list by which action the dev team should build first
Sample output
CONVERSION INVENTORY (plain English)
1. Subscriber completes Autoship signup      value: $42 (avg first order)
2. First Autoship box ships                  value: $0, confirms signup wasn't fraudulent
3. Subscriber pauses Autoship                 value: $0, churn signal, not a conversion
4. Subscriber cancels Autoship                value: $0, churn signal, not a conversion

Healthy

The dev team builds signup and first-box-ship first because they carry real value; pause and cancel get built later as churn signals, never as key events.

Unhealthy

The team starts tagging whatever GA4's UI suggests first, ships a cancel event as a 'conversion,' and Smart Bidding has no idea it should optimize away from that.

What this means

The inventory is the business decision, deciding what has value; the tag manager work that follows is just execution.

So what do I do about it?

SymptomActionEffort
Dev team keeps asking 'is this a conversion?' mid-sprintHand them the ranked plain-English inventory before the sprint starts, not during it30 min
YouYou can do this yourself, no engineering access required.

Step 02 of 02

Using GA4's recommended event names

The lesson's playbook step 2 says to stick to GA4's recommended event names in snake_case wherever they fit, because Google's automated reports and Ads integrations only light up for those names.

GA4 has a recommended event called sign_up. Chewy's plain-English item is 'Subscriber completes Autoship signup.' Do you use sign_up, or invent a custom name like autoship_signup_complete?

Google Sheets— The same inventory sheet, add a column for the mapped GA4 event name.

Procedure

  1. Check GA4's recommended events list for a name that fits each inventory row
  2. Map 'Subscriber completes Autoship signup' to sign_up, GA4's standard name
  3. Map 'First Autoship box ships' to a custom name (no GA4 standard fits a fulfillment event), autoship_first_ship
  4. Leave pause and cancel unmapped for now, since they aren't going into GA4 as key events
Sample output
EVENT NAME MAPPING
  Subscriber completes Autoship signup  -> sign_up (GA4 standard)
  First Autoship box ships              -> autoship_first_ship (custom, no standard fits)

Healthy

sign_up uses the GA4 standard name, so it automatically populates GA4's built-in acquisition and Ads integration reports without extra configuration.

Unhealthy

The team names it autoship_signup_v2 out of habit, and GA4's automated sign-up reports and Google Ads conversion import both stay empty because the name doesn't match.

What this means

A custom name isn't wrong when nothing standard fits, but skipping a standard name that does fit throws away free reporting.

So what do I do about it?

SymptomActionEffort
GA4's built-in acquisition reports show zero sign-ups despite real signups happeningRename the custom event to the matching GA4-recommended name and re-verify in DebugView5 min
EitherYou or a developer can handle this, depending on your access.

Final deliverable

A ranked conversion inventory spreadsheet with plain-English names, estimated values, and GA4-recommended event-name mappings, ready to hand to a developer.

See a reference example
Sample output
FirstCry, conversion inventory (excerpt)

1. Customer completes first order      -> purchase (GA4 standard)   value: avg order value
2. Customer joins loyalty program      -> join_group (GA4 standard)  value: $0, engagement signal
3. Customer downloads size guide PDF   -> file_download (GA4 standard) value: $0, not a key event

Success criteria

You're done when you can:

  • Every real conversion has a plain-English description and an estimated value before any GA4 name is assigned
  • Uses GA4 recommended names wherever one genuinely fits, and only invents a custom name when none does