62% woocommerce-google-adwords-conversion-tracking-tag

Code Review | Pixel Manager for WooCommerce - Track Google Analytics, Google Ads, TikTok and more

WordPress plugin Pixel Manager for WooCommerce - Track Google Analytics, Google Ads, TikTok and more scored62%from 54 tests.

About plugin

  • Plugin page: woocommerce-googl...
  • Plugin version: 1.34.0
  • PHP compatiblity: 7.3+
  • PHP version: 7.4.16
  • WordPress compatibility: 3.7-6.3
  • WordPress version: 6.3.1
  • First release: Aug 7, 2013
  • Latest release: Oct 10, 2023
  • Number of updates: 1
  • Update frequency: every 365.0 days

Code review

54 tests

User reviews

301 reviews

Install metrics

50,000+ active /2,033,531 total downloads

Benchmarks

Plugin footprint 46% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Installer ran successfully

Server metrics [RAM: ▲6.36MB] [CPU: ▲46.68ms] 25% from 4 tests

This is a short check of server-side resources used by Pixel Manager for WooCommerce - Track Google Analytics, Google Ads, TikTok and more
Please fix the following
  • RAM: You should keep total memory usage under 10MB (currently 10.04MB on /wp-admin/tools.php?page=action-scheduler)
  • CPU: The total CPU usage must kept under 500.00ms (currently 2,002.29ms on /wp-admin/options-general.php?page=wpm)
  • Extra RAM: Extra memory usage must be kept under 5MB (currently 6.36MB on /wp-admin/tools.php?page=action-scheduler)
PageMemory (MB)CPU Time (ms)
Home /8.97 ▲5.5078.69 ▲39.30
Dashboard /wp-admin9.94 ▲6.6498.64 ▲49.90
Posts /wp-admin/edit.php10.00 ▲6.64106.04 ▲60.15
Add New Post /wp-admin/post-new.php12.58 ▲6.69133.32 ▲37.53
Media Library /wp-admin/upload.php9.88 ▲6.6594.09 ▲59.98
Pixel Manager /wp-admin/options-general.php?page=wpm10.112,002.29
Freemius Debug [v.2.5.12] /wp-admin/admin.php?page=freemius10.0576.35
Scheduled Actions /wp-admin/tools.php?page=action-scheduler10.0486.46

Server storage [IO: ▲24.88MB] [DB: ▲0.01MB] Passed 3 tests

A short overview of filesystem and database impact
This plugin installed successfully
Filesystem: 1,944 new files
Database: 4 new tables, 14 new options
New tables
wp_actionscheduler_actions
wp_actionscheduler_groups
wp_actionscheduler_logs
wp_actionscheduler_claims
New WordPress options
fs_active_plugins
db_upgraded
widget_theysaidso_widget
theysaidso_admin_options
fs_accounts
action_scheduler_hybrid_store_demarkation
widget_recent-posts
wgact_plugin_options
wgact_ratings
fs_debug_mode
...

Browser metrics Passed 4 tests

A check of browser resources used by Pixel Manager for WooCommerce - Track Google Analytics, Google Ads, TikTok and more
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,952 ▲16614.29 ▼0.0612.82 ▲11.0527.31 ▼16.06
Dashboard /wp-admin2,231 ▲605.57 ▼0.0096.89 ▲7.4846.13 ▲5.87
Posts /wp-admin/edit.php2,141 ▲412.04 ▲0.0340.85 ▲6.0638.67 ▲0.92
Add New Post /wp-admin/post-new.php1,549 ▲2322.04 ▼1.59689.70 ▲6.7361.93 ▲4.26
Media Library /wp-admin/upload.php1,437 ▲344.26 ▲0.0494.11 ▼3.3642.65 ▼2.60
Pixel Manager /wp-admin/options-general.php?page=wpm2,30012.03231.6857.87
Freemius Debug [v.2.5.12] /wp-admin/admin.php?page=freemius1,1052.0727.2129.57
Scheduled Actions /wp-admin/tools.php?page=action-scheduler1,2862.2124.5829.69

Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 25% from 4 tests

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
  • Uninstall procedure validation failed for this plugin
    • > Notice in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/freemius/wordpress-sdk/includes/class-freemius.php+8515
    Undefined property: stdClass::$plugins
  • The uninstall procedure failed, leaving 4 tables in the database
    • wp_actionscheduler_logs
    • wp_actionscheduler_actions
    • wp_actionscheduler_claims
    • wp_actionscheduler_groups
  • This plugin does not fully uninstall, leaving 14 options in the database
    • action_scheduler_hybrid_store_demarkation
    • wgact_plugin_options
    • fs_accounts
    • widget_recent-posts
    • wgact_ratings
    • schema-ActionScheduler_StoreSchema
    • fs_debug_mode
    • theysaidso_admin_options
    • schema-ActionScheduler_LoggerSchema
    • fs_active_plugins
    • ...

Smoke tests 75% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Everything seems fine, however this is by no means an exhaustive test

SRP 50% from 2 tests

🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Almost there! Just fix the following items
  • 51× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'ActionScheduler_Schedule_Deprecated' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_Schedule.php:6
    • > PHP Fatal error
      Uncaught Error: Class 'ActionScheduler_Abstract_Schedule' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/woocommerce/action-scheduler/classes/schedules/ActionScheduler_SimpleSchedule.php:6
    • > PHP Fatal error
      Uncaught Error: Class 'Action_Scheduler\\Migration\\ActionMigrator' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/woocommerce/action-scheduler/classes/migration/DryRun_ActionMigrator.php:15
    • > PHP Fatal error
      Uncaught Error: Interface 'libphonenumber\\MetadataLoaderInterface' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/giggsey/libphonenumber-for-php/src/DefaultMetadataLoader.php:5
    • > PHP Fatal error
      Uncaught Error: Interface 'ActionScheduler_Exception' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/woocommerce/action-scheduler/classes/ActionScheduler_InvalidActionException.php:10
    • > PHP Fatal error
      Uncaught Error: Class 'CronExpression_AbstractField' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/woocommerce/action-scheduler/lib/cron-expression/CronExpression_MinutesField.php:8
    • > PHP Fatal error
      Uncaught Error: Interface 'ActionScheduler_Schedule' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/woocommerce/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php:6
    • > PHP Fatal error
      Uncaught Error: Interface 'libphonenumber\\MatcherAPIInterface' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/giggsey/libphonenumber-for-php/src/RegexBasedMatcher.php:10
    • > PHP Fatal error
      Uncaught Error: Class 'libphonenumber\\Leniency\\AbstractLeniency' not found in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/giggsey/libphonenumber-for-php/src/Leniency/Possible.php:8
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-list-table.php' (include_path='.:/usr/share/php') in wp-content/plugins/woocommerce-google-adwords-conversion-tracking-tag/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php on line 4

User-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There were no browser issues found

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 88% from 16 tests

It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that require attention: You can take inspiration from this readme.txt

woocommerce-google-adwords-conversion-tracking-tag/wgact.php 92% from 13 tests

The principal PHP file in "Pixel Manager for WooCommerce - Track Google Analytics, Google Ads, TikTok and more" v. 1.34.0 is loaded by WordPress automatically on each request
You should first fix the following items:
  • Main file name: Name the main plugin file the same as the plugin slug ("woocommerce-google-adwords-conversion-tracking-tag.php" instead of "wgact.php")

Code Analysis 95% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
No dangerous file extensions were detected661,488 lines of code in 1,683 files:
LanguageFilesBlank linesComment linesLines of code
PHP1,64215,45842,100654,797
JavaScript121,3224685,286
JSON510647
CSS177248431
Markdown61320311
XML13016

PHP code 0% from 2 tests

An overview of cyclomatic complexity and code structure
These items need your attention
  • Class cyclomatic complexity has to be reduced to less than 1000 (currently 3,088)
  • Cyclomatic complexity of methods should be reduced to less than 100 (currently 104)
Cyclomatic complexity
Average complexity per logical line of code0.46
Average class complexity37.52
▷ Minimum class complexity1.00
▷ Maximum class complexity3,088.00
Average method complexity3.40
▷ Minimum method complexity1.00
▷ Maximum method complexity104.00
Code structure
Namespaces16
Interfaces6
Traits0
Classes204
▷ Abstract classes199.31%
▷ Concrete classes18590.69%
▷ Final classes21.08%
Methods3,240
▷ Static methods92328.49%
▷ Public methods2,36673.02%
▷ Protected methods2838.73%
▷ Private methods59118.24%
Functions254
▷ Named functions18974.41%
▷ Anonymous functions6525.59%
Constants317
▷ Global constants11937.54%
▷ Class constants19862.46%
▷ Public constants198100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
3 PNG files occupy 0.07MB with 0.05MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant
FileSize - originalSize - compressedSavings
vendor/freemius/wordpress-sdk/assets/img/theme-icon.png10.97KB5.78KB▼ 47.37%
vendor/freemius/wordpress-sdk/assets/img/woocommerce-google-adwords-conversion-tracking-tag.png30.71KB7.20KB▼ 76.56%
vendor/freemius/wordpress-sdk/assets/img/plugin-icon.png30.71KB7.20KB▼ 76.56%