Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

Google Analytics - Support a GT tracking ID #7213

Merged
merged 1 commit into from
Sep 30, 2022

Conversation

mikkamp
Copy link
Contributor

@mikkamp mikkamp commented Sep 23, 2022

The Google Analytics Integration extension now supports GTAG tracking with ID's prefixed with both G- and GT-. This PR changes the tracking code to load for both types of prefixes.

Note
The intention is to move this code within the Google Analytics Integration extension, which is being tracked here

Fixes woocommerce/woocommerce-google-analytics-integration#228

Other Checks

  • This PR adds/removes a feature flag & I've updated this doc.
  • This PR adds/removes an experimental interfaces and I've updated this doc.
  • I tagged two reviewers because this PR makes queries to the database or I think it might have some security impact.

Testing

Automated Tests

  • Changes in this PR are covered by Automated Tests.
    • Unit tests
    • E2E tests

User Facing Testing

  1. Install the Google Analytics Integration Extension
  2. Setup the extension with a GT-X type ID from your Google Analytics account. Google Analytics account is required to test this. This can be retrieved by going to the analytics dashboard and going to a data stream > Configure Tag Settings, see full instructions here
    image
  3. Install Google Analytics Debugger browser extension. It needs to be installed, but do not click it (debug mode should be off).
  4. Go to the store and trigger some events using the All Products Block and Cart block. For example an add to cart event.
  5. Google Analytics Debugger should indicate that an event was fired.
  6. Instead of the Google Analytics Debugger we can also check the Browser Dev Tools > Network and confirm we see requests being sent to a URL similar to: https://region1.google-analytics.com/g/collect (region could vary)
  • Do not include in the Testing Notes

WooCommerce Visibility

  • WooCommerce Core
  • Feature plugin
  • Experimental

Changelog

Add - Support for a GT tracking ID for Google Analytics.

@mikkamp mikkamp self-assigned this Sep 23, 2022
@github-actions
Copy link
Contributor

The release ZIP for this PR is accessible via:

https://wcblocks.wpcomstaging.com/wp-content/uploads/woocommerce-gutenberg-products-block-7213.zip

@github-actions
Copy link
Contributor

Size Change: 0 B

Total Size: 893 kB

ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 7.62 kB
build/active-filters.js 8.29 kB
build/all-products-frontend.js 18.2 kB
build/all-products.js 34 kB
build/all-reviews.js 7.79 kB
build/attribute-filter-frontend.js 22.3 kB
build/attribute-filter.js 13.3 kB
build/blocks-checkout.js 17.5 kB
build/cart-blocks/cart-accepted-payment-methods-frontend.js 1.17 kB
build/cart-blocks/cart-cross-sells-frontend.js 253 B
build/cart-blocks/cart-cross-sells-products--product-add-to-cart-frontend.js 5.43 kB
build/cart-blocks/cart-cross-sells-products-frontend.js 4.66 kB
build/cart-blocks/cart-express-payment-frontend.js 5.08 kB
build/cart-blocks/cart-items-frontend.js 299 B
build/cart-blocks/cart-line-items--mini-cart-contents-block/products-table-frontend.js 5.27 kB
build/cart-blocks/cart-line-items-frontend.js 430 B
build/cart-blocks/cart-order-summary-frontend.js 1.1 kB
build/cart-blocks/cart-totals-frontend.js 322 B
build/cart-blocks/empty-cart-frontend.js 345 B
build/cart-blocks/filled-cart-frontend.js 781 B
build/cart-blocks/order-summary-coupon-form-frontend.js 2.64 kB
build/cart-blocks/order-summary-discount-frontend.js 2.15 kB
build/cart-blocks/order-summary-fee-frontend.js 273 B
build/cart-blocks/order-summary-heading-frontend.js 454 B
build/cart-blocks/order-summary-shipping--checkout-blocks/order-summary-shipping-frontend.js 6.37 kB
build/cart-blocks/order-summary-shipping-frontend.js 427 B
build/cart-blocks/order-summary-subtotal-frontend.js 274 B
build/cart-blocks/order-summary-taxes-frontend.js 434 B
build/cart-blocks/proceed-to-checkout-frontend.js 1.15 kB
build/cart-frontend.js 48 kB
build/cart.js 50.3 kB
build/checkout-blocks/actions-frontend.js 1.42 kB
build/checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 4.11 kB
build/checkout-blocks/billing-address-frontend.js 890 B
build/checkout-blocks/contact-information-frontend.js 2.84 kB
build/checkout-blocks/express-payment-frontend.js 5.37 kB
build/checkout-blocks/fields-frontend.js 345 B
build/checkout-blocks/order-note-frontend.js 1.08 kB
build/checkout-blocks/order-summary-cart-items-frontend.js 3.66 kB
build/checkout-blocks/order-summary-coupon-form-frontend.js 2.79 kB
build/checkout-blocks/order-summary-discount-frontend.js 2.27 kB
build/checkout-blocks/order-summary-fee-frontend.js 276 B
build/checkout-blocks/order-summary-frontend.js 1.11 kB
build/checkout-blocks/order-summary-shipping-frontend.js 600 B
build/checkout-blocks/order-summary-subtotal-frontend.js 275 B
build/checkout-blocks/order-summary-taxes-frontend.js 435 B
build/checkout-blocks/payment-frontend.js 7.68 kB
build/checkout-blocks/shipping-address-frontend.js 1.03 kB
build/checkout-blocks/shipping-methods-frontend.js 4.75 kB
build/checkout-blocks/terms-frontend.js 1.23 kB
build/checkout-blocks/totals-frontend.js 325 B
build/checkout-frontend.js 49.9 kB
build/checkout.js 43.7 kB
build/featured-category.js 13.2 kB
build/featured-product.js 13.4 kB
build/general-style-rtl.css 1.29 kB
build/general-style.css 1.29 kB
build/handpicked-products.js 7.33 kB
build/legacy-template.js 2.84 kB
build/mini-cart-component-frontend.js 16.9 kB
build/mini-cart-contents-block/empty-cart-frontend.js 366 B
build/mini-cart-contents-block/filled-cart-frontend.js 229 B
build/mini-cart-contents-block/footer--mini-cart-contents-block/products-table-frontend.js 4.69 kB
build/mini-cart-contents-block/footer-frontend.js 7.39 kB
build/mini-cart-contents-block/items-frontend.js 237 B
build/mini-cart-contents-block/products-table-frontend.js 290 B
build/mini-cart-contents-block/shopping-button-frontend.js 288 B
build/mini-cart-contents-block/title-frontend.js 367 B
build/mini-cart-contents.js 23.4 kB
build/mini-cart-frontend.js 1.72 kB
build/mini-cart.js 4.57 kB
build/price-filter-frontend.js 13.4 kB
build/price-filter.js 9.35 kB
build/price-format.js 1.19 kB
build/product-add-to-cart--product-button--product-category-list--product-image--product-price--product-r--a0326d00.js 226 B
build/product-add-to-cart--product-button--product-image--product-title.js 2.69 kB
build/product-add-to-cart-frontend.js 2.6 kB
build/product-add-to-cart.js 6.87 kB
build/product-best-sellers.js 7.7 kB
build/product-button--product-category-list--product-image--product-price--product-rating--product-sale-b--e17c7c01.js 432 B
build/product-button--product-image--product-rating--product-sale-badge--product-title.js 302 B
build/product-button-frontend.js 1.89 kB
build/product-button.js 1.58 kB
build/product-categories.js 2.36 kB
build/product-category-list-frontend.js 879 B
build/product-category-list.js 503 B
build/product-category.js 8.69 kB
build/product-image-frontend.js 1.91 kB
build/product-image.js 1.61 kB
build/product-new.js 7.69 kB
build/product-on-sale.js 8.02 kB
build/product-price-frontend.js 1.91 kB
build/product-price.js 1.53 kB
build/product-query.js 646 B
build/product-rating-frontend.js 1.18 kB
build/product-rating.js 771 B
build/product-sale-badge-frontend.js 1.14 kB
build/product-sale-badge.js 816 B
build/product-search.js 2.61 kB
build/product-sku-frontend.js 380 B
build/product-sku.js 380 B
build/product-stock-indicator-frontend.js 992 B
build/product-stock-indicator.js 623 B
build/product-summary-frontend.js 1.28 kB
build/product-summary.js 920 B
build/product-tag-list-frontend.js 873 B
build/product-tag-list.js 497 B
build/product-tag.js 8.05 kB
build/product-title-frontend.js 1.34 kB
build/product-title.js 938 B
build/product-top-rated.js 7.93 kB
build/products-by-attribute.js 8.62 kB
build/reviews-by-category.js 11.3 kB
build/reviews-by-product.js 12.4 kB
build/reviews-frontend.js 7.02 kB
build/single-product-frontend.js 21.5 kB
build/single-product.js 10.1 kB
build/stock-filter-frontend.js 7.61 kB
build/stock-filter.js 7.55 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/cart-line-items--cart-blocks/cart-order--04fe80d1-frontend.js 5.26 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/order-summary-shipping--checkout-blocks--18f9376a-frontend.js 19.1 kB
build/vendors--cart-blocks/cart-cross-sells-products--product-add-to-cart-frontend.js 6.92 kB
build/vendors--cart-blocks/cart-line-items--checkout-blocks/order-summary-cart-items--mini-cart-contents---233ab542-frontend.js 3.14 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--5b8feb0b-frontend.js 4.85 kB
build/vendors--mini-cart-contents-block/footer-frontend.js 6.86 kB
build/wc-blocks-data.js 9.9 kB
build/wc-blocks-editor-style-rtl.css 5.24 kB
build/wc-blocks-editor-style.css 5.24 kB
build/wc-blocks-google-analytics.js 1.56 kB
build/wc-blocks-middleware.js 931 B
build/wc-blocks-registry.js 2.7 kB
build/wc-blocks-shared-context.js 1.51 kB
build/wc-blocks-shared-hocs.js 1.71 kB
build/wc-blocks-style-rtl.css 23.9 kB
build/wc-blocks-style.css 23.8 kB
build/wc-blocks-vendors-style-rtl.css 1.95 kB
build/wc-blocks-vendors-style.css 1.95 kB
build/wc-blocks-vendors.js 54.5 kB
build/wc-blocks.js 2.63 kB
build/wc-payment-method-bacs.js 816 B
build/wc-payment-method-cheque.js 811 B
build/wc-payment-method-cod.js 909 B
build/wc-payment-method-paypal.js 837 B
build/wc-settings.js 2.6 kB

compressed-size-action

@mikkamp mikkamp marked this pull request as ready for review September 23, 2022 12:16
@mikkamp mikkamp requested review from a team and tarhi-saad and removed request for a team September 23, 2022 12:24
Copy link
Contributor

@tarhi-saad tarhi-saad left a comment

Choose a reason for hiding this comment

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

Thank you, @mikkamp, for working on this PR! 🙌 I followed the testing instructions, and I believe I did so correctly:

  1. I created a new property in Google Analytics for my Jurassic Ninja testing site
  2. The following tag was created (a G- tag):

image

  1. I retrieved the second tag (GT-) from the Tag details page:

image

  1. I added the Google tag in Google Analytics Integration Extension:

image

  1. I triggered some events in the Cart & All Products blocks, and the Browser Dev Tools > Network displayed some requests sent to Google Analytics:

image

  1. Lastly, I checked my Google Analytics account -> Reports -> Realtime:

image

Please let me know if there is anything I missed! If not, feel free to 🚢 it! 👍

@github-actions github-actions bot added this to the 8.7.0 milestone Sep 29, 2022
@mikkamp
Copy link
Contributor Author

mikkamp commented Sep 29, 2022

Thanks for the review @tarhi-saad you followed those testing steps perfectly. Still find it a quirky way to create a GT-ID but those are the steps we were suggested.

As for merging, I still see Required statuses must pass before merging. Is that from the E2E tests not passing? As far as I can see other PR's are also failing on the same point. Let me know if it's ok to check the box to override the pending checks and merge anyway.

@tarhi-saad
Copy link
Contributor

@mikkamp, there is an open PR #7206 addressing these particular failing tests (Mini Cart E2E tests). So feel free to bypass the E2E checks! 👍

@mikkamp mikkamp merged commit 8b0a7ed into trunk Sep 30, 2022
@mikkamp mikkamp deleted the add/support-for-gtag-tracking-id branch September 30, 2022 05:54
@wavvves wavvves added the type: enhancement The issue is a request for an enhancement. label Oct 10, 2022
senadir pushed a commit to senadir/woocommerce-blocks that referenced this pull request Nov 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: enhancement The issue is a request for an enhancement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for GTag ID
3 participants