Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update: Change WooPayments "Channel" to "Sales Channel" and other channel names #10437

Merged
merged 7 commits into from
Feb 28, 2025

Conversation

htdat
Copy link
Member

@htdat htdat commented Feb 25, 2025

Fixes #10245

Changes proposed in this Pull Request

This PR updates the terminology around "Channel" in WooPayments to avoid confusion with WooCommerce core's order attribution "Marketing Channel" concept:

  • Renamed "Channel" to "Sales Channel" throughout the UI
  • Updated "Online" to "Online Store"
  • Standardized "In-Person" and "In-Person (POS)" terminology
  • Updated all related test snapshots and strings

Testing instructions

Look at these pages and confirm new terminologies are applied properly:

  1. The Transactions list page:
  2. The Transactions filters in the transaction list page.
  3. Individual transaction detail page.

Screenshot for the transaction listing + filters:

Markup on 2025-02-25 at 14:48:23

Screenshot for the transaction detail

Markup on 2025-02-25 at 14:48:56


  • 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)

Post merge

@htdat htdat self-assigned this Feb 25, 2025
@htdat htdat requested review from a team, haszari and malinajirka February 25, 2025 08:00
@botwoo
Copy link
Collaborator

botwoo commented Feb 25, 2025

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 10437 or branch name fix/10245-update-channel-texts 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: 5ff745c
  • Build time: 2025-02-28 05:22:48 UTC

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

Copy link
Contributor

@dmvrtx dmvrtx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I checked the mentioned pages and played around a bit and could see "Sales channel" to be used consistently. Thank you for improving this wording!

@haszari haszari requested review from a team and removed request for a team February 25, 2025 20:22
Copy link
Contributor

@haszari haszari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick review of the code (language/copy) only, I haven't tested – I trust y'all to effectively test.

The main blocker is how we represent In person vs. In person (POS) in metadata and in UI. Based on the P2 discussion, I was expecting two high-level categories Online store and In-person.

The benefits of that approach are:

  • Scales as we add different ways to pay. We can add sub-items for all kinds of online or offline channel.
  • Allows for analytics at coarse "online vs in-person" level by having one grouping for all in-person / retail / physical transactions.
  • Allows for fine grained analytics by combining Sales channel and specific attribute.

We might need to go back to design to flesh out how we display the child attribute ("POS" or not in this case), and how we represent it in database.

value="in_person_pos"
>
In-Person (POS)
</option>,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding from the P2 discussion is that we would have two broad categories:

  • Online store
  • In-person

Each category would have more specific variations, like child terms in a taxonomy. The variations would be tracked in custom metadata/attribute. For example:

  • Online store
    • credit card
    • paypal
    • afterpay
    • etc
  • In-person
    • woo iOS app IPP
    • woo / stripe card-reader hardware
    • etc

So … I wasn't expecting two separate categories for In-person. I think that's confusing, and doesn't scale – we don't have separate top-level categories for Online store, even though it covers lots of variations.

Copy link
Member Author

@htdat htdat Feb 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agreed with the sentiment here, but actually this dropdown filter option has been missed in this past PR #9802

So it's a compliment for that PR.

@haszari
Copy link
Contributor

haszari commented Feb 26, 2025

use coarse online vs in_person groupings, and optional extra attribute for different kinds of in_person (Stripe reader(s), iOS app feature, Woo POS hardware etc). Similar to how online has many different options within it (credit card, Affirm, Bancontact, Google Pay etc). - @haszari on P2

using a single In person with an extra attributes (woo mobile ipp vs woo mobile pos or similar) would work just fine for us (it might require some changes in Looker transformations, but that should be doable) - @malinajirka on P2

We might need to go back to design to flesh out how we display the child attribute ("POS" or not in this case), and how we represent it in database. - @haszari

FYI @elizaan36 - is this on y'all's design radar? Maybe we need to add something in the UI for the "new" attribute? Also FYI @mjdeacon for the product point of view.

@elizaan36
Copy link

FYI @elizaan36 - is this on y'all's design radar?

Hey @haszari Thanks for flagging this. There has always been a differentiation between In-person and In-person (POS) as far as I remember. What's the issue so I understand?

@haszari
Copy link
Contributor

haszari commented Feb 26, 2025

There has always been a differentiation between In-person and In-person (POS) as far as I remember. What's the issue so I understand?

For me there are two possible issues:

  1. I personally don't understand the difference between In-person and In-person (POS) (other than that it's different specific checkout hardware/tech), since "POS" to me means generic "point of sale", i.e. any generic retail POS hardware (and In-person suggests this already). I figure merchants might view things similarly, and want to group Online vs In-person (retail/brick & mortar) in their analytics, etc.
  2. For our purposes, and likely merchants too, we want to split In-person (other thing) and In-person (POS). It was suggested on the related P2 thread that we could use a separate attribute for this level of detail.

So for design that might mean …

  • Thoughts / feedback on the coarse groupings of Online vs In-person and In-person (POS). What the big categories that we show in header and table column.
  • How we might display a new more detailed attribute (the POS part).
    • Do we add a separate column in table and / or header?
    • Do we combine the grouping + detail attribute into a combined string for display?

@htdat htdat force-pushed the fix/10245-update-channel-texts branch from f807473 to 8d9f428 Compare February 27, 2025 09:16
Copy link
Contributor

github-actions bot commented Feb 27, 2025

Size Change: +31 B (0%)

Total Size: 1.29 MB

Filename Size Change
release/woocommerce-payments/dist/index.js 234 kB +31 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.4 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.4 kB
release/woocommerce-payments/assets/css/success.css 189 B
release/woocommerce-payments/assets/css/success.rtl.css 190 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.67 kB
release/woocommerce-payments/dist/blocks-checkout.css 2.67 kB
release/woocommerce-payments/dist/blocks-checkout.js 55.5 kB
release/woocommerce-payments/dist/cart-block.js 17.3 kB
release/woocommerce-payments/dist/cart.js 5.73 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.28 kB
release/woocommerce-payments/dist/checkout.css 1.28 kB
release/woocommerce-payments/dist/checkout.js 34.6 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 236 B
release/woocommerce-payments/dist/express-checkout.css 236 B
release/woocommerce-payments/dist/express-checkout.js 15.8 kB
release/woocommerce-payments/dist/frontend-tracks.js 854 B
release/woocommerce-payments/dist/index-rtl.css 35.5 kB
release/woocommerce-payments/dist/index.css 35.6 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.08 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 4.29 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 61.1 kB
release/woocommerce-payments/dist/multi-currency.css 4.29 kB
release/woocommerce-payments/dist/multi-currency.js 59.1 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 42.5 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 1.34 kB
release/woocommerce-payments/dist/payment-gateways.css 1.34 kB
release/woocommerce-payments/dist/payment-gateways.js 40.1 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 386 B
release/woocommerce-payments/dist/plugins-page.css 386 B
release/woocommerce-payments/dist/plugins-page.js 20.1 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.6 kB
release/woocommerce-payments/dist/settings-rtl.css 11.4 kB
release/woocommerce-payments/dist/settings.css 11.4 kB
release/woocommerce-payments/dist/settings.js 224 kB
release/woocommerce-payments/dist/subscription-edit-page.js 703 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 524 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 524 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.2 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 19.3 kB
release/woocommerce-payments/dist/tokenized-express-checkout-rtl.css 236 B
release/woocommerce-payments/dist/tokenized-express-checkout.css 236 B
release/woocommerce-payments/dist/tokenized-express-checkout.js 16.8 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 21.8 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 6.13 kB
release/woocommerce-payments/dist/woopay-express-button.js 23.4 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.31 kB
release/woocommerce-payments/dist/woopay.css 4.28 kB
release/woocommerce-payments/dist/woopay.js 71 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 772 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.47 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.2 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.47 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 28.4 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10 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 333 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 424 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 521 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 215 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 721 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 632 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

@htdat
Copy link
Member Author

htdat commented Feb 27, 2025

@haszari - I agreed with your sentiment in your last comment that we should have an additional attribute to represent different origins for channel in_person.

That said, I think we can scale back this PR to focus on two terms "Sales channel" and "Online store". For the In-Person vs In-Person (POS) terms, I think we can have another issue for it, and stop making more changes about them in this PR.

Copy link

@malinajirka malinajirka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @htdat! I agree with all that has been said above and keeping the next iteration(s) in a separate PR sounds great.

I have just scanned through the code, but I tested the behavior in the transactions list and I can see IPP/POS/Online transactions and the filters work as expected. 🚢

@haszari
Copy link
Contributor

haszari commented Feb 27, 2025

That said, I think we can scale back this PR to focus on two terms "Sales channel" and "Online store". For the In-Person vs In-Person (POS) terms, I think we can have another issue for it, and stop making more changes about them in this PR.

Happy for the other attribute to be handled in a separate PR (and maybe separate issue), good idea.

@htdat
Copy link
Member Author

htdat commented Feb 28, 2025

Created this issue to discuss the attribute to distinguish different In-Person channel types: 7296-gh-Automattic/transact-platform-server

@htdat htdat added this pull request to the merge queue Feb 28, 2025
Merged via the queue into develop with commit ec98a59 Feb 28, 2025
28 checks passed
@htdat htdat deleted the fix/10245-update-channel-texts branch February 28, 2025 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants