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

fix(popups): improve formatting of human-readable numbers #1603

Merged
merged 4 commits into from
Apr 12, 2022

Conversation

dkoo
Copy link
Contributor

@dkoo dkoo commented Apr 12, 2022

All Submissions:

Changes proposed in this Pull Request:

Small fix to improve the display formatting of human-readable "Seen", "Form Submissions", and "Link Clicks" numbers in Campaigns Analytics according to the following rules:

  • If the value is less than 10k, shows the absolute value formatted according to the local language via toLocaleString().
  • If the value is greater than 10k but less than 1M, shows a human-readable figure rounded to the nearest integer. e.g. 11,236 becomes 11K and 157,963 becomes 158K
  • If the value is greater than 1M, shows a human-readable figure rounded to the hundredths. e.g. 1,353,288 becomes 1.35M and 826,677,234 becomes 826.68M.

Closes Automattic/newspack-popups#835.

How to test the changes in this Pull Request:

  1. If your test site isn't connected to Google Analytics via Site Kit, you can force the Campaigns Analytics view to display by adding return []; at this line.
  2. Mock various numbers by altering this line like so:
// const { seen, form_submissions, link_clicks } = keyMetrics;

// Mock numbers for testing.
const seen = 10000;
const form_submissions = 1023;
const link_clicks = 12456;
  1. Test numbers in the singles, hundreds, thousands, tens of thousands, hundreds of thousands, and millions and confirm that the numbers displayed are human-readable and make logical sense according to the rules above.

Other information:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes, as applicable?
  • Have you successfully ran tests with your changes locally?

@dkoo dkoo added [Type] Enhancement Improved behavior or functionality [Status] Needs Review The issue or pull request needs to be reviewed labels Apr 12, 2022
@dkoo dkoo requested a review from a team as a code owner April 12, 2022 18:08
@dkoo dkoo self-assigned this Apr 12, 2022
Copy link
Member

@miguelpeixe miguelpeixe left a comment

Choose a reason for hiding this comment

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

Nice! 💯

@github-actions github-actions bot added [Status] Approved The pull request has been reviewed and is ready to merge and removed [Status] Needs Review The issue or pull request needs to be reviewed labels Apr 12, 2022
@dkoo dkoo merged commit 3106f18 into master Apr 12, 2022
@dkoo dkoo deleted the fix/human-readerable-numbers branch April 12, 2022 20:19
matticbot pushed a commit that referenced this pull request May 2, 2022
# [1.82.0-alpha.1](v1.81.0...v1.82.0-alpha.1) (2022-05-02)

### Bug Fixes

* **ads:** update refresh control help text ([#1601](#1601)) ([fc70afc](fc70afc))
* crashes with autocomplete inputs in Campaigns wizard and CategoryAutocomplete ([#1609](#1609)) ([101d1d6](101d1d6))
* handle Yoast Premium as a replacement for Yoast ([#1614](#1614)) ([9a503c0](9a503c0)), closes [#298](#298)
* **popups:** improve formatting of human-readable numbers ([#1603](#1603)) ([3106f18](3106f18))
* relax capabilities required to interact with Newspack ([04eb0be](04eb0be)), closes [#543](#543)
* **salesforce:** a PHP warning on sync completion due to incorrect variable ([#1616](#1616)) ([492a439](492a439))

### Features

* **ads:** use ad sizes from plugin ([#1577](#1577)) ([d238b08](d238b08))
* **donations-stripe:** integrate w/ woocommerce-memberships ([#1599](#1599)) ([807e224](807e224))
* **setup:** notice on Setup wizard after setup completed ([#1610](#1610)) ([22d6b1c](22d6b1c)), closes [#1561](#1561)
* **starter-content:** add excerpt & subtitle ([36c4452](36c4452)), closes [#514](#514)
* update debug mode notice style and position ([#1605](#1605)) ([b28075c](b28075c))
* **woocommerce:** hide setup task list ([#1615](#1615)) ([78854e8](78854e8)), closes [#1156](#1156)
@matticbot
Copy link
Contributor

🎉 This PR is included in version 1.82.0-alpha.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

matticbot pushed a commit that referenced this pull request May 3, 2022
# [1.82.0](v1.81.0...v1.82.0) (2022-05-03)

### Bug Fixes

* **ads:** update refresh control help text ([#1601](#1601)) ([fc70afc](fc70afc))
* crashes with autocomplete inputs in Campaigns wizard and CategoryAutocomplete ([#1609](#1609)) ([101d1d6](101d1d6))
* handle Yoast Premium as a replacement for Yoast ([#1614](#1614)) ([9a503c0](9a503c0)), closes [#298](#298)
* **popups:** improve formatting of human-readable numbers ([#1603](#1603)) ([3106f18](3106f18))
* relax capabilities required to interact with Newspack ([04eb0be](04eb0be)), closes [#543](#543)
* **salesforce:** a PHP warning on sync completion due to incorrect variable ([#1616](#1616)) ([492a439](492a439))

### Features

* **ads:** use ad sizes from plugin ([#1577](#1577)) ([d238b08](d238b08))
* **donations-stripe:** integrate w/ woocommerce-memberships ([#1599](#1599)) ([807e224](807e224))
* **setup:** notice on Setup wizard after setup completed ([#1610](#1610)) ([22d6b1c](22d6b1c)), closes [#1561](#1561)
* **starter-content:** add excerpt & subtitle ([36c4452](36c4452)), closes [#514](#514)
* update debug mode notice style and position ([#1605](#1605)) ([b28075c](b28075c))
* **woocommerce:** hide setup task list ([#1615](#1615)) ([78854e8](78854e8)), closes [#1156](#1156)
@matticbot
Copy link
Contributor

🎉 This PR is included in version 1.82.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released on @alpha released [Status] Approved The pull request has been reviewed and is ready to merge [Type] Enhancement Improved behavior or functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Analytics: abbreviated numbers should be clipped
3 participants