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

WC 9.5 Compatibility #2727

Open
tomalec opened this issue Dec 15, 2024 · 1 comment
Open

WC 9.5 Compatibility #2727

tomalec opened this issue Dec 15, 2024 · 1 comment
Labels
type: enhancement The issue is a request for an enhancement.

Comments

@tomalec
Copy link
Member

tomalec commented Dec 15, 2024

GLA Manual Smoke Tests

Use this guide to smoke-test the plugin (for compatibility or other reasons). If there's a common use case or cause of errors not included, please add it!

After each step during testing, be sure to check the debug logs and the browser console for errors, warnings, or notices.

If you see 🧪 in the test, it indicates that there's an E2E test that covers this particular scenario.

  • Prerequisites: Wordpress.com and Google accounts, WooCommerce store with existing products and categories. (For example, see Importing WooCommerce Sample Data ).

  • Install extension / Uninstall extension

Setup

Onboarding Wizard

Set up your accounts

  • 🧪 Connect wordpress.com
  • 🧪 After wordpress.com is connected, the UI doesn't show the connection card UI of wordpress.com
  • 🧪 Connect Google account
  • 🧪 Connect Google account. Then change the URL and connect that account. You should be able to claim the website.
  • 🧪 After a Google account is connected, it automatically creates Google Merchant Center or Google Ads accounts when the connected Google account doesn't have a respective existing one
  • 🧪 Set up Google Merchant Center (Connect existing account).
  • 🧪 Set up Google Merchant Center (Create a new account).
  • 🧪 Connect an existing Google Ads account
  • 🧪 Disconnect Google Ads account
  • 🧪 Create a new Google Ads account and connect it
  • 🧪 Save an invalid store address in WooCommerce settings and click the "Update store address" button, it shows the corresponding error messages
  • 🧪 The "Continue" button should not be enabled until all accounts are connected and the store address is valid.
  • 🧪 Verify the UI: FAQ can expand; check that doc links and tooltips are working.
  • Onboarding: Verify that you can navigate back using the menu at the top.

Configure product listings

  • 🧪 Select countries.
  • 🧪 Checking the "All countries" option hides the country select textbook.
  • 🧪 If the "My shipping settings are simple. I can manually estimate flat shipping rates" option is checked
    • 🧪 The "Estimated shipping rates" field is displayed
    • 🧪 If the "Estimated shipping rates" field is 0, the "Free shipping for all orders" tag is displayed
    • 🧪 If the "Estimated shipping rates" field is >0, the "I offer free shipping for orders over a certain price" field is displayed
    • 🧪 If the "Free shipping over a specific order value" field is checked, the minimum order field is displayed
    • There is an error message and the "Continue" button is disabled when any shipping times are invalid
  • 🧪 If the "My shipping settings are complex. I will enter my shipping rates and times manually in Google Merchant Center" option is selected; both the shipping rate and Shipping time are hidden, and the "Continue" button is enabled
  • 🧪 The "Continue" button is disabled if no shipping time is entered on a simple shipping setup

Create a campaign

  • 🧪 Before setting up the billing method, there should be a billing information card for opening Google's billing setting page by a button or an alternative link
  • 🧪 Button should open the billing setting page via a pop-up window aligned to the center of the current browser window
  • 🧪 After completing the billing setting and waiting for a while, the billing information card should change to a setup successful
  • 🧪 The highest recommended value among audience countries should be set as the default budget value
  • 🧪 Setting different budget values lower or higher than the suggestion should also display or hide the corresponding tip below
  • 🧪 Setting a budget value to be lower than 30% of the highest recommended value among audience countries should display an error message below the budget input
  • The ad previews automatically rotate and the bestselling product, shop name, shop URL, and shop logo are composited with the reviews if applicable
  • 🧪 Verify the UI: FAQ can expand
  • 🧪 Complete onboarding without setting up a campaign - then you should see a modal "You’ve successfully set up Google Listings & Ads! 🎉" click next and check if there is a "Create campaign" button
  • Check FAQ
  • 🧪 Click complete setup, it should navigate to Product Feed tab.
  • You should see a modal with the following text: "You’ve successfully set up Google Listings & Ads! 🎉" & click View Product Feed.
  • Navigate all Google Listings & Ads tabs (Reports, Product Feed, Settings) - The content loads with no errors or warnings

Google Listings & Ads > Dashboard

  • Navigate to Marketing -> Google Listing & Ads -> Dashboard
  • Edit free listings and make sure it can save successfully.
  • Go into Edit free listings page and click on the top left back button. It should bring you back to the Dashboard page.
  • Create a campaign by clicking the "Add campaign" button and ensure the journey works.
    • The FAQ display and expand/collapse correctly.
    • The highest recommended value among audience countries should be set as the default budget value
    • Setting different budget values lower or higher than the suggestion should also display or hide the corresponding tip below
    • Setting a budget value to be lower than 30% of the highest recommended value among audience countries should display an error message below the budget input
    • The "Continue" button is disabled until the "Daily average cost" value is valid
  • Create an Ads campaign without adding assets and confirm that the data is in Google Ads
  • Edit an Ads campaign without adding assets and confirm that the data is in Google Ads
    • Setting different budget values lower or higher than the suggestion should also display or hide the corresponding tip below
    • Setting a budget value to be lower than 30% of the highest recommended value among audience countries should display an error message below the budget input
    • The "Continue" button is disabled until the "Daily average cost" value is valid
  • Disable a campaign from the "Programs" table and ensure the campaign has been paused in Google ads.
  • Remove a campaign from the "Programs" table and ensure the campaign has been removed in Google ads.
  • Filter dashboard by date range
  • Campaign Assets tour on the Dashboard page
     # SQL to reset the checked flag of tours
     DELETE FROM wp_options WHERE option_name = 'gla_tours';
    • The tour floats upon the Edit button of the first campaign after having at least one campaign.
    • The tour won't appear again after clicking on the [ ] button to close it.
  • Campaign Assets
     // If the test environment is a local site, it may need to add this code snippet to
     // the end of the ./google-listings-and-ads.php file to pass the Final URL matching
     // and the SSL verification in the `wp_remote_get` calls.
    
     function replace_with_gmc_domain( $url ) {
        return str_replace( get_home_url(), 'https://domain-name-of-the-associated-google-mc-account', $url );
     }
     
     add_filter( 'page_link', 'replace_with_gmc_domain' );
     add_filter( 'term_link', 'replace_with_gmc_domain' );
     add_filter( 'post_type_link', 'replace_with_gmc_domain' );
     
     add_filter( 'https_ssl_verify', '__return_false' );
     add_filter( 'https_local_ssl_verify', '__return_false' );
    • In the Final URL card, it lists the homepage and shop pages by default and can search pages/posts/categories(taxonomies) by keywords.
    • Create a campaign with assets. All asset fields should be successfully saved.
    • Add assets to an existing campaign. All asset fields should be successfully saved.
    • Edit assets of a campaign. All asset fields should be successfully edited.
    • Should be able to remove the optional assets of a campaign.
    • An empty asset group is created first when saving assets to a campaign that doesn't have any (empty) asset groups:
      1. In GLA, create a campaign without assets.
      2. Go to Google Ads to delete the empty asset group for the newly created campaign.
      3. Back to GLA, refresh the web page, and go to edit the newly created campaign.
      4. Add assets and save changes.
    • Campaigns that already have assets are not allowed to change the Final URL.
    • All asset fields are disabled and collapsed if no selected Final URL and the "Create campaign" button is disabled as well.
    • All asset fields are enabled and expanded after a Final URL is selected and the "Create campaign" button is enabled as well.
    • Asset fields are filled in with asset suggestion data after a Final URL is selected.
    • When the number of values in each asset text field reaches its maximum limit, the add button is disabled.
    • The values in each asset text field that exceeds the minimum number requirement can be deleted.
    • After toggling the asset field, the edited values are kept. After going to step 1 and back to step 2, the edited values in asset fields are kept.
    • The "n/N characters" label below text inputs is turned to red color when exceeding its character count limit.
    • Landscape, Square and Portrait images share the maximum total number of 20.
    • Images are cropped to the required aspect ratios.
    • Images that already fit with the required aspect ratios can skip cropping.
    • Images that don't meet the required size are not allowed to be selected.
    • Before clicking on the submit button, there are no issue labels nor lists of invalid reasons except for the character count exceeding errors.
    • After clicking on the submit button without fulfilling all required asset fields, the form won't be submitted, the web page should be scrolled to the first incomplete field, and all incomplete fields show the number of issues in a label and a list of invalid reasons.
      assets-form-validation

Google Listings & Ads > Reports

  • Filter reports by data range.

Programs tab

  • Try some values in the "Show" field:
    • "Single program"
    • "Comparison" between 2 or more programs

Products tab

  • Try some values in the "Show" field:
    • Single product
    • Comparison view between 2 or more products

Google Listings & Ads > Product Feed

  • Select a product in the "Product Feed" table and update the channel visibility
  • Click on the pagination link on the Product table to ensure this works
  • Click on the pagination link on the "Issues to resolve" table to ensure this works

Google Listings & Ads > Settings

  • Perform store address update
  • Disconnect Google Ads only
  • Disconnect all google accounts.
  • Reconnect by going through the onboarding steps

Sync Products with Google Merchant Center

Note that the following operations with Google MC can take some minutes.

The Mismatched URL will block product synchronization. To test this part in a local environment, please try making the following adjustments to the local env first:

  1. Add this code snippet to google-listings-and-ads.php for skipping the URL matching check.
    add_filter( 'woocommerce_gla_ready_for_syncing', '__return_true' );
  2. Clear related transients from DB.
    DELETE FROM wp_options where option_name LIKE '%gla_url_matches%';
  • Visit wp-admin/admin.php?page=connection-test-admin-page.
  • Go to the "Product Sync" section (at bottom of the page) and tick the option async for Sync All Products and Delete All Synced Products.
  • If you have products in Google MC try to delete them using Delete All Synced Products.
  • Check that they are deleted in the Google MC.
  • Sync the products again using Sync All Products.
  • Check that the products have been synced again.
  • Edit any synced product (change the title) and confirm that the changes are reflected in the Merchant Center.

Gtag events

  • Successfully run e2e tests in local env.
@tomalec tomalec added the type: enhancement The issue is a request for an enhancement. label Dec 15, 2024
@tomalec
Copy link
Member Author

tomalec commented Dec 17, 2024

For fresh installs there is an issue with budget recommendations #2730

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement The issue is a request for an enhancement.
Projects
None yet
Development

No branches or pull requests

1 participant