CartBounty – Save and recover abandoned carts for WooCommerce

Save abandoned carts and send automated abandoned cart recovery messages. Get more leads, reduce cart abandonment, and increase sales.

v8.10.2StreamlineUpdated 2026-05-25Added Mar 16, 201710k+ installs96% rating100% support resolved
33
Score
370
Errors
399
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance100
Maintainability42

Top Issues by Category

security573
maintainability139
i18n45

Issues Details

769 issues found in latest scan

ERROR253
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<a class='cartbounty-tab nav-tab$class' href='"'.

WARNING61
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET[&#039;cart-status&#039;] not unslashed before sanitization. Use wp_unslash() or similar

WARNING60
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING59
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING58
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $cart_table at &quot;DELETE FROM $cart_table\n

WARNING45
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET[&#039;cart-status&#039;]

WARNING43
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING42
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

ERROR25
WordPress.DateTime.RestrictedFunctions.date_date

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

ERROR17
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $consent_query used in $wpdb->get_results()\n$consent_query assigned unsafely at line 803.

ERROR17
WordPress.WP.I18n.UnorderedPlaceholdersText

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in 'Get %sCartBounty Pro%s to enable cart data preview above.'.

ERROR14
wp_function_not_compatible_with_requires_wp

Function "get_privacy_policy_url()" requires WordPress 4.9.6, but your plugin minimum supported version is WordPress 4.6.0.

ERROR13
WordPress.WP.I18n.MissingTranslatorsComment

A function call to _n() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

WARNING6
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$button_html&quot;.

WARNING6
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_GET[&#039;page&#039;]. Check that the array index exists before using it.

ERROR6
WordPress.WP.I18n.MissingArgDomain

Missing $domain parameter in function call to __().

WARNING5
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;activate_cartbounty&quot;.

ERROR5
WordPress.WP.I18n.NonSingularStringLiteralText

The $text parameter must be a single text string literal. Found: $key

ERROR4
PluginCheck.CodeAnalysis.SettingSanitization.register_settingMissing

Sanitization missing for register_setting().

WARNING4
WordPress.DB.PreparedSQLPlaceholders.UnquotedComplexPlaceholder

Complex placeholders used for values in the query string in $wpdb-&gt;prepare() will NOT be quoted automagically. Found: %0.2f.

ERROR4
WordPress.WP.I18n.MissingSingularPlaceholder

Missing singular placeholder, needed for some languages. See https://codex.wordpress.org/I18n_for_WordPress_Developers#Plurals

WARNING3
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $cart_table used in $wpdb-&gt;query()\n$cart_table assigned unsafely at line 16.

ERROR3
WordPress.Security.EscapeOutput.UnsafePrintingFunction

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

ERROR2
Generic.Files.ByteOrderMark.Found

File contains UTF-8 byte order mark, which may corrupt your application

WARNING2
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

Latest Snapshot

Findings

769

Errors

370

Warnings

399

Score History

First score snapshot

First scan completed Jun 20, 2026

v8.10.2 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v8.10.2

33

Latest

Findings
769
Errors
370
Warnings
399
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins