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 ).
[x] 🧪 Connect Google Account. Then change the URL and connect that account. You should be able to claim the website.
[x] 🧪 Set up Google Merchant Center (Connect existing account).
[x] 🧪 Set up Google Merchant Center (Create a new account).
[x] 🧪 Connect an existing Google Ads account
[x] 🧪 Disconnect Google Ads account
[x] 🧪 Create a new Google Ads account and connect it
[x] 🧪 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
[x] 🧪 Button should open the billing setting page via a pop-up window aligned to the center of the current browser window
[x] 🧪 After completing the billing setting and waiting for a while, the billing information card should change to a setup successful message.
[x] 🧪 The "next" button should not be enabled until all accounts are connected.
[x] 🧪 Verify the UI: FAQ can expand; check that doc links and tooltips are working.
[x] Onboarding: Verify that you can navigate back using the menu at the top.
Choose your audience and product listings
[x] 🧪 The default language is preselected
[x] 🧪 Select countries.
[x] 🧪 Checking the "All countries" option hides the country select textbook.
[x] 🧪 If United States is not selected, the card "Tax rate (required for U.S. only)" at the bottom is not displayed.
[x] 🧪 If the "My shipping settings are simple. I can manually estimate flat shipping rates" option is checked
[x] 🧪 The "Estimated shipping rates" field is displayed
[x] 🧪 If the "Estimated shipping rates" field is 0, the "Free shipping for all orders" tag is displayed
[x] 🧪 If the "Estimated shipping rates" field is >0, the "I offer free shipping for orders over a certain price" field is displayed
[x] 🧪 If the "I offer free shipping for orders over a certain price" field is "Yes", the "Minimum order to qualify for free shipping" field is displayed
[x] 🧪 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
[x] 🧪 The "Continue" button is disabled if no shipping time is entered on a simple shipping setup
Confirm store requirements
[x] 🧪 Verify phone number
[x] 🧪 Confirm Pre-Launch Checklist
[x] 🧪 The "Continue" button is disabled until the Pre-Launch Checklist is checked and the Store address is valid
Complete your campaign
[x] 🧪 The number of syncable products in the Product feed status section is shown in case the stats have been loaded otherwise it will show a spinning icon.
[x] The ad previews automatically rotate and the bestselling product, shop name, shop URL, and shop logo are composited with the reviews if applicable
[x] 🧪 Verify the UI: FAQ can expand
[x] 🧪 Complete onboarding without setting up paid ads - then you should see a modal "You’ve successfully set up Google Listings & Ads! 🎉" click next and check if there is a button to "Create a Paid Campaign"
[x] 🧪 Clicking on "Create a paid ad campaign" can show Ads audience and Set your budget sections
[x] 🧪 The countries selected in step 2 should be preselected in ads audience
[x] 🧪 Ads audience selector only allows selecting the same set of the countries selected in step 2
[x] Changing ads audience should also display the suggested budget range below according to the selected countries
[x] 🧪 Setting different budget values lower or higher than the suggestion should also display or hide the corresponding tip below
[x] Check FAQ
[x] Click complete setup, it should navigate to Product Feed tab.
[x] You should see a modal with the following text: "You’ve successfully set up Google Listings & Ads! 🎉" & click View Product Feed.
[x] Navigate all Google Listings & Ads tabs (Reports, Product Feed, Settings) - The content loads with no errors or warnings
Google Listings & Ads > Dashboard
[x] Navigate to Marketing -> Google Listing & Ads -> Dashboard
[x] Edit free listings and make sure it can save successfully.
[x] Go into Edit free listings page and click on the top left back button. It should bring you back to the Dashboard page.
[x] 🧪 Create a campaign by clicking the "Add paid campaign" button and ensure the journey works.
[x] The "Select country/s" field works; you can search and select countries.
[ ] 🧪 The FAQ display and expand/collapse correctly.
[x] 🧪 The "Continue" button is disabled until the "Select country/s" and "Daily average cost" fields have been filled.
[x] 🧪 Create an Ads campaign without adding assets and confirm that the data is in Google Ads
[x] Edit an Ads campaign without adding assets and confirm that the data is in Google Ads
[x] Disable a campaign from the "Programs" table and ensure the campaign has been paused in Google ads.
[x] Remove a campaign from the "Programs" table and ensure the campaign has been removed in Google ads.
[x] Filter dashboard by date range
[x] Campaign Assets tour on the Dashboard page
# SQL to reset the checked flag of tours
DELETE FROM wp_options WHERE option_name = 'gla_tours';
[x] The tour floats upon the Edit button of the first campaign after having at least one campaign.
[x] The tour won't appear again after clicking on the [ ] button to close it.
[x] 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' );
[x] In the Final URL card, it lists the homepage and shop pages by default and can search pages/posts/categories(taxonomies) by keywords.
[x] Create a campaign with assets. All asset fields should be successfully saved.
[x] Add assets to an existing campaign. All asset fields should be successfully saved.
[x] Edit assets of a campaign. All asset fields should be successfully edited.
[x] Should be able to remove the optional assets of a campaign.
[x] An empty asset group is created first when saving assets to a campaign that doesn't have any (empty) asset groups:
In GLA, create a campaign without assets.
Go to Google Ads to delete the empty asset group for the newly created campaign.
Back to GLA, refresh the web page, and go to edit the newly created campaign.
Add assets and save changes.
[x] Campaigns that already have assets are not allowed to change the Final URL.
[x] All asset fields are disabled and collapsed if no selected Final URL and the "Launch paid campaign" button is disabled as well.
[x] All asset fields are enabled and expanded after a Final URL is selected and the "Launch paid campaign" button is enabled as well.
[x] Asset fields are filled in with asset suggestion data after a Final URL is selected.
[x] When the number of values in each asset text field reaches its maximum limit, the add button is disabled.
[x] The values in each asset text field that exceeds the minimum number requirement can be deleted.
[x] 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.
[x] The "n/N characters" label below text inputs is turned to red color when exceeding its character count limit.
[x] Landscape, Square and Portrait images share the maximum total number of 20.
[x] Images are cropped to the required aspect ratios.
[x] Images that already fit with the required aspect ratios can skip cropping.
[x] Images that don't meet the required size are not allowed to be selected.
[x] Before clicking on the submit button, there are no issue labels nor lists of invalid reasons except for the character count exceeding errors.
[x] 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.
Google Listings & Ads > Reports
[x] Filter reports by data range.
Programs tab
[x] Try some values in the "Show" field:
[x] "Single program"
[x] "Comparison" between 2 or more programs
Products tab
[x] Try some values in the "Show" field:
[x] Single product
[x] Comparison view between 2 or more products
Google Listings & Ads > Product Feed
[x] Select a product in the "Product Feed" table and update the channel visibility
[x] Click on the pagination link on the Product table to ensure this works
[x] Click on the pagination link on the "Issues to resolve" table to ensure this works
Google Listings & Ads > Settings
[x] Perform Phone number update
[x] Disconnect Google Ads only
[x] Disconnect all google accounts.
[x] 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:
Add this code snippet to google-listings-and-ads.php for skipping the URL matching check.
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.
Setup
WP 6.6-RC2
WC 9.1.0-rc.1 Internal Release
GLA revision cb7765e
[x] Install extension / Uninstall extension
Onboarding Wizard
Set up your accounts
Choose your audience and product listings
Confirm store requirements
Complete your campaign
Google Listings & Ads > Dashboard
[x] Campaign Assets
Google Listings & Ads > Reports
Programs tab
Products tab
Google Listings & Ads > Product Feed
Google Listings & Ads > Settings
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:
Sync All Products
andDelete All Synced Products
.Delete All Synced Products
.Sync All Products
.Gtag events
(Optional) Test Gtag events manually
page_view
event is present.view_item
event is present.page_view
event is present with additional cart details.conversion
andpurchase
events are present.https://www.google.com/pagead
with theadd_to_cart
event.