RUM community plugins

A personal community project under @kyletaylored, MIT licensed.Not provided or supported by Datadog.

Schema 1.0.0

Action names are GA4's recommended ecommerce event names behind a family prefix, and attributes are GA4's parameters. There is no second vocabulary to learn, and a site already pushing GA4 ecommerce data maps one to one.

This page is generated from the core's schema definitions. Schema changes go through a short RFC and a semver bump; each adapter declares the version it emits in its manifest.

commerce commerce.*

Actions

ActionGA4 eventFires whenKey attributes
commerce.view_item_listview_item_listCollection or category page shownitem_list_name, items
commerce.view_itemview_itemProduct detail page shownvalue, currency, items
commerce.add_to_cartadd_to_cartItem added or quantity raisedvalue, currency, items, cart_id
commerce.remove_from_cartremove_from_cartItem removed or quantity loweredvalue, currency, items, cart_id
commerce.view_cartview_cartCart page or drawer openedvalue, currency, item_count
commerce.begin_checkoutbegin_checkoutCheckout enteredvalue, currency, item_count, coupon
commerce.add_shipping_infoadd_shipping_infoShipping step submittedvalue, currency, shipping_tier
commerce.add_payment_infoadd_payment_infoPayment step submittedvalue, currency, payment_type
commerce.purchasepurchaseOrder confirmation seentransaction_id, value, currency, tax, shipping, coupon, item_count
commerce.searchsearchStore search runsearch_term_length

Attributes

AttributeTypeOriginDescriptionExample
valuenumberGA4Monetary value in the store currency: items affected on cart events, cart total on view_cart and begin_checkout, revenue on purchase.84.5
currencystringGA4ISO 4217 store currency."USD"
transaction_idstringGA4Platform order identifier."#1042"
taxnumberGA4Tax charged on the order.6.2
shippingnumberGA4Shipping charged on the order.4.95
couponstringGA4Discount code applied."WELCOME10"
payment_typestringGA4Payment method name. Never card data."paypal"
shipping_tierstringGA4Shipping option chosen."Ground"
item_list_namestringGA4Collection or category name."Summer sale"
itemsitemsGA4GA4 item objects (item_id, item_name, price, quantity, item_variant, item_category), capped at 20 entries. Opt-in via includeItems.—
item_countintegerextensionSum of quantities.3
unique_itemsintegerextensionDistinct line items.2
cart_idstringextensionPlatform cart identifier."c1-8f2a"
search_term_lengthintegerextensionLength of the search query. Replaces GA4 search_term, which can hold PII.12

account account.*

Actions

ActionGA4 eventFires whenKey attributes
account.loginloginAuth state becomes signed inmethod
account.sign_upsign_upA new account is createdmethod
account.logoutnoneAuth state becomes signed outnone

Attributes

AttributeTypeOriginDescriptionExample
methodstringGA4Auth method or connection name."google-oauth2"
account_idstringextensionOrganization or tenant identifier."org_19x"

lead lead.*

Actions

ActionGA4 eventFires whenKey attributes
lead.generate_leadgenerate_leadA lead form is submittedform_id, form_name

Attributes

AttributeTypeOriginDescriptionExample
valuenumberGA4Estimated lead value.100
currencystringGA4ISO 4217 currency for value."USD"
form_idstringextensionForm identifier, never its field values."hs-4821"
form_namestringextensionForm name."Contact sales"

support support.*

Actions

ActionGA4 eventFires whenKey attributes
support.chat_openednoneThe support widget is shownprovider

Attributes

AttributeTypeOriginDescriptionExample
providerstringextensionChat provider name."intercom"

Session-wide context

Set with setGlobalContextProperty. Deliberately low cardinality: no order, cart or user IDs.

KeyProperty
platformcommerce.platform
pluginVersioncommerce.plugin_version
schemaVersioncommerce.schema_version
storeIdstore.id
storeCurrencystore.currency
storeLocalestore.locale
customerTypecustomer.type
consentCategoriesconsent.categories

Limits the core enforces

Why some platform events send nothing

A platform event with no GA4 equivalent emits no action. Shopify'scheckout_contact_info_submitted, for instance, only feeds setUser when the merchant opts into email. Inventing an action name for it would break the promise that one dashboard works across every platform.