Skip to content

Enrich Accept dispute tracks events with dispute identifiers#11599

Draft
dmallory42 wants to merge 1 commit intodevelopfrom
fix/woopmnt-6101-track-accept-dispute-button-clicks
Draft

Enrich Accept dispute tracks events with dispute identifiers#11599
dmallory42 wants to merge 1 commit intodevelopfrom
fix/woopmnt-6101-track-accept-dispute-button-clicks

Conversation

@dmallory42
Copy link
Copy Markdown
Contributor

@dmallory42 dmallory42 commented Apr 15, 2026

Refs WOOPMNT-6101

Changes proposed in this Pull Request

Enriches the existing "Accept dispute" Tracks events with additional properties so that click data can be joined back to specific dispute records and segmented by reason.

The four affected events are:

  • wcpay_dispute_accept_modal_view — fired when the merchant clicks "Accept dispute" and opens the confirmation modal.
  • wcpay_dispute_accept_click — fired when the merchant confirms acceptance from within the modal.
  • wcpay_dispute_inquiry_refund_modal_view — inquiry equivalent of the above.
  • wcpay_dispute_inquiry_refund_click — inquiry equivalent of the above.

Each event payload now includes dispute_id and dispute_reason in addition to the existing dispute_status and on_page. No new events are introduced and no existing properties are removed.

Testing instructions

Automated:

  • npm run test:js -- client/payment-details/dispute-details/__tests__/dispute-awaiting-response-details.test.tsx

Manual:

  1. On a test site with an open dispute, open the transaction details page for that dispute.
  2. With the browser devtools Network panel filtering for tracks, click Accept dispute. Verify wcpay_dispute_accept_modal_view fires with dispute_id, dispute_status, dispute_reason, and on_page.
  3. From the confirmation modal, click Accept dispute again. Verify wcpay_dispute_accept_click fires with the same four properties.
  4. Repeat on an inquiry (e.g. Klarna credit_not_processed). The Issue refund flow should fire wcpay_dispute_inquiry_refund_modal_view and wcpay_dispute_inquiry_refund_click with the enriched payload.

  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply) — does not apply (analytics instrumentation, no UI change).

Post merge

  • Link to testing instructions from release testing doc: QA Testing Not Applicable
  • Add or update critical flows — does not apply.
  • Add what's changed to the release announcement post — does not apply.

…tifiers

Context: Dispute acceptance currently fires `wcpay_dispute_accept_modal_view`
on the initial click and `wcpay_dispute_accept_click` on confirmation (plus
the inquiry refund equivalents), but each payload only carries the dispute
status and a page marker. That's not enough to join the events back to the
dispute records they describe, so we can't segment the "lost without
evidence" population by who actively chose to accept versus who never
engaged at all.

Problem: Without the dispute ID, analytics cannot link a click to a specific
dispute outcome. Without the reason, we cannot slice drop-off between the
modal open and the confirm click by dispute reason, which is the primary
dimension product decisions hinge on.

Solution: Add `dispute_id` and `dispute_reason` to both the open-modal and
confirm-click events, for both the standard accept flow and the inquiry
refund flow. Tests now assert the full payload shape so the fields won't be
removed silently.

Refs WOOPMNT-6101
@github-actions
Copy link
Copy Markdown
Contributor

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 11599 or branch name fix/woopmnt-6101-track-accept-dispute-button-clicks in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: a43d47e
  • Build time: 2026-04-15 21:08:42 UTC

Note: the build is updated when a new commit is pushed to this PR.

@github-actions
Copy link
Copy Markdown
Contributor

Size Change: +13 B (0%)

Total Size: 963 kB

Filename Size Change
release/woocommerce-payments/dist/index.js 152 kB +13 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.46 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.46 kB
release/woocommerce-payments/assets/css/success.css 1.06 kB
release/woocommerce-payments/assets/css/success.rtl.css 1.06 kB
release/woocommerce-payments/dist/blocks-checkout-rtl.css 3.25 kB
release/woocommerce-payments/dist/blocks-checkout.css 3.25 kB
release/woocommerce-payments/dist/blocks-checkout.js 56.6 kB
release/woocommerce-payments/dist/cart-block-rtl.css 113 B
release/woocommerce-payments/dist/cart-block.css 112 B
release/woocommerce-payments/dist/cart-block.js 17.4 kB
release/woocommerce-payments/dist/cart.js 5.15 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.01 kB
release/woocommerce-payments/dist/checkout.css 1.01 kB
release/woocommerce-payments/dist/checkout.js 34.9 kB
release/woocommerce-payments/dist/chunks/express-checkout-previews.js 3.52 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 377 B
release/woocommerce-payments/dist/express-checkout.css 377 B
release/woocommerce-payments/dist/express-checkout.js 19.3 kB
release/woocommerce-payments/dist/frontend-tracks.js 868 B
release/woocommerce-payments/dist/index-rtl.css 21.5 kB
release/woocommerce-payments/dist/index.css 21.5 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.09 kB
release/woocommerce-payments/dist/multi-currency-async-renderer-rtl.css 344 B
release/woocommerce-payments/dist/multi-currency-async-renderer.css 344 B
release/woocommerce-payments/dist/multi-currency-async-renderer.js 8.1 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.82 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 19.2 kB
release/woocommerce-payments/dist/multi-currency.css 3.83 kB
release/woocommerce-payments/dist/multi-currency.js 25.5 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 21.7 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 484 B
release/woocommerce-payments/dist/plugins-page.css 484 B
release/woocommerce-payments/dist/plugins-page.js 2.64 kB
release/woocommerce-payments/dist/product-details-rtl.css 433 B
release/woocommerce-payments/dist/product-details.css 436 B
release/woocommerce-payments/dist/product-details.js 12.9 kB
release/woocommerce-payments/dist/settings-rtl.css 13.1 kB
release/woocommerce-payments/dist/settings.css 13 kB
release/woocommerce-payments/dist/settings.js 154 kB
release/woocommerce-payments/dist/subscription-edit-page.js 2 kB
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 1.95 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 730 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 1.87 kB
release/woocommerce-payments/dist/success.js 6.03 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 3.15 kB
release/woocommerce-payments/dist/wc-payments-review-prompt-rtl.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.js 14.5 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight-rtl.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.css 1.68 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.js 27.9 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 5.58 kB
release/woocommerce-payments/dist/woopay-express-button.js 22.1 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.27 kB
release/woocommerce-payments/dist/woopay.css 4.25 kB
release/woocommerce-payments/dist/woopay.js 70.7 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 625 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 814 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/jetpack-script-data.js 880 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.02 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/script-data.js 69 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/babel.config.js 163 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.3 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 31.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.js 280 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.rtl.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.css 625 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.js 331 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.rtl.css 626 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-users.js 415 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-users-connection.js 159 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 520 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 585 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.css 218 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.css 719 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.js 412 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-users.js 625 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.04 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 294 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 408 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.59 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 301 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 746 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 574 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 414 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 543 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.78 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.84 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 545 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.7 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 507 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 358 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 428 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 782 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.09 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.26 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 391 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.04 kB

compressed-size-action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant