tTendlio
  • How it works
  • Why Tendlio
  • Pricing
  • Resources
    • Guides
    • Documentation
    • FAQ
  • Try Tendlio for Free
Try Tendlio for Free
  • How it works
  • Why Tendlio
  • Pricing
  • Resources
    • Guides
    • Documentation
    • FAQ
  • Try Tendlio for Free

Getting started

14
  • How to install Tendlio
  • What Tendlio does
  • What Tendlio can do for you automatically
  • How to check your tools on the Growth engine page
  • How to set up Tendlio with the Getting started guide
  • How to set up Tendlio and run your first analysis
  • How to compare your Dashboard numbers with earlier periods
  • How to choose and arrange your Dashboard cards
  • Understanding your scores
  • Where the scores come from
  • How to work through your to-do list
  • What your to-do list can catch
  • How to get a daily task from the Growth coach
  • How and when to re-scan your store

What the numbers mean

6
  • Product health colors (Fast / Steady / Slow / Dead)
  • ABC class (A / B / C)
  • Selling pace (Sales/mo)
  • Forecast & “runs out in”
  • AOV and gross profit
  • How Sales lift counts what Tendlio brought in

Inventory

13
  • How to use the Products table
  • How to read a product’s Insights page
  • How to boost a product, or hide it from recommendations
  • What the Inventory Score measures
  • How to decide what to restock and how much to order
  • Reading the Forecast page
  • How to set up Auto outlet to clear your dead stock
  • How to discount products yourself with Manual outlet
  • How to test a higher price on a best-seller
  • How to set up your suppliers and order from each one
  • How to use the Tendlio fields on a product
  • How to set up seasonal detection
  • If you also sell in a physical shop

Customers

11
  • What your customer segments mean
  • What the Customer Score measures
  • How to act on a customer segment
  • How to find and contact customers in the Customer list
  • How to send a campaign to your customers
  • How to welcome first-time buyers and nudge them to a second order
  • How to recover abandoned checkouts and carts
  • How to ask customers for a review after their order
  • How to thank your best customers with Customer recognition
  • Coupons the plugin creates (and cleans up)
  • How to build an email in the email editor

Storefront

9
  • How to show frequently bought together products on your product pages
  • How to suggest more products on your cart page
  • How Tendlio suggests a free-shipping threshold
  • How to show in-stock alternatives when a product is sold out
  • How to set up a Deals page and offer a free gift
  • How to sort your product listings by profit with Smart Product Sort
  • How to set up Recommended for you, Trending now, On-sale picks and 404 suggestions
  • Measuring what the widgets earn
  • Storefront widget positions and shortcodes

Email sending

4
  • How to set up email sending and switch it to Live
  • How to check that your emails reach the inbox (SPF, DKIM, DMARC)
  • Who you can email (consent, in plain words)
  • How sending works: waiting emails, the daily limit and email analytics

Reports

5
  • What’s in Reports
  • Views to sales (where shoppers drop off)
  • Are your discounts paying off? (Discount report)
  • How to read your Store summary and get it by email
  • How to track your net profit, CAC and ROAS

Settings & your data

7
  • How to give Tendlio your product costs
  • How to choose who can use Tendlio and how its menu looks
  • How to switch between Simple and Advanced mode
  • How to see your activity and cleared to-dos in History
  • Your data and privacy
  • How to use the System status page
  • How to contact support or send feedback

Troubleshooting & FAQ

13
  • The analysis looks stuck or is taking long
  • My numbers don’t match WooCommerce Analytics
  • Which orders count as a sale
  • Emails aren’t going out
  • Staging copies and moving your store
  • Tendlio isn’t recording product visits
  • A storefront widget doesn’t show up
  • Caching and optimization plugins: what to exclude for Tendlio
  • Cart recommendations show nothing
  • If a storefront feature is off, does it still load?
  • A score shows “-” instead of a number
  • A to-do I marked done came back
  • Starting over, or what happens if I uninstall
View Categories
  • Home
  • Docs
  • Troubleshooting & FAQ
  • Caching and optimization plugins: what to exclude for Tendlio

Caching and optimization plugins: what to exclude for Tendlio

9 min read

In short: If Tendlio shows "Showing, but not measured," an optimization plugin may be loading our storefront script too late, or changing it. Add tendlio to your optimizer's JavaScript exclusion list, safelist the CSS classes below if you remove unused CSS, and leave query-string removal off. Counting starts again once the fix reaches real shoppers; we don't go back and credit the orders in between.

How you know you need this #

Look for Showing, but not measured on a Growth engine or Sales lift card. The Storefront widgets report shows that widget with no results, and the product funnel shows no page views while add-to-carts keep arriving.

The full message reads: "Your shop is recording add-to-carts, but none of our page signals are arriving. A caching or JS-optimization plugin, a consent tool, or a script error on the page usually causes this."

This isn't On, but not showing, which means the widget isn't appearing at all. Here the widget works; only our counting has stopped.

The one-line fix #

In most optimization plugins, add this keyword to every field that excludes JavaScript from delay, defer, minify, or combine:

tendlio

Every Tendlio file address contains /tendlio/, and our inline settings use names such as tendlioSf and tendlioRac, so the keyword also matches them in fields that accept content keywords.

Treat storefront.js and swiper-bundle-tendlio.min.js the same way; the first needs the second. None of our scripts needs jQuery, so there's nothing else to exclude.

If your optimizer lists scripts by handle, ours are tendlio-storefront, tendlio-swiper, tendlio-seen, tendlio-sitetrack, tendlio-source, tendlio-recovery, and tendlio-deals. tendlio-source is the one that notes where each order came from. If a speed plugin holds it back, System status says so, and while the Marketing & profit report is on, so does your To do list, the same way it does for WooCommerce's own source tracking.

If you remove unused CSS #

Unused-CSS tools read the page before our JavaScript runs, so they drop the styles it adds later. Paste this exact list into the tool's safelist, one entry per line:

.swiper-initialized
.swiper-horizontal
.swiper-wrapper
.swiper-slide-active
.swiper-slide-next
.swiper-slide-prev
.swiper-pagination-bullet
.swiper-pagination-bullet-active
.swiper-button-disabled
.swiper-button-lock
.tendlio-bt--has-overflow
.tendlio-spin
.tendlio-gift-msg
.tendlio-vip-checkout-notice
.tendlio-deals__btn.is-loading
.tendlio-bt-card__atc.loading
.tendlio-bt-card__atc.added

The swiper and overflow entries keep the row, its dots, and arrows. The rest keep the add-to-cart spinner and button states, the gift line, the checkout greeting, and the Deals load-more button.

Two settings to leave off #

Leave Remove query strings from static resources off. Our file addresses end in a version number; that's how a shopper's browser learns an update arrived. Strip it and the browser can keep running last month's script against this month's plugin.

If a normal WordPress page carries [tendlio_free_gift], exclude it from page caching, like cart and checkout. The offer it shows depends on the shopper's cart, so a cached copy can show the wrong one. The claim itself still works from a stale page, because the button fetches a fresh key when clicked.

Plugin by plugin #

WP Rocket #

  1. Open Settings > WP Rocket > File Optimization.
  2. Under Delay JavaScript Execution, add tendlio to Excluded JavaScript Files. We didn't find a Tendlio entry under One-click exclusions.
  3. If Load JavaScript deferred is on, add tendlio to that feature's exclusion list too.
  4. If Remove Unused CSS is on, paste the CSS list into its CSS safelist.

Source: WP Rocket Delay JavaScript Execution, defer exclusions, defer field example, and Remove Unused CSS. Verified 23 August 2026.

LiteSpeed Cache #

  1. Open LiteSpeed Cache > Page Optimization > Tuning. Add tendlio to JS Excludes and JS Deferred/Delayed Excludes.
  2. If Guest Mode is on, also add it to Guest Mode JS Excludes. (LiteSpeed's data-no-defer="1" tag is an alternative; we don't add it.)
  3. Paste the CSS list under Tuning CSS > UCSS Selector Allowlist. Leave HTML Settings > Remove Query Strings off, save, and purge.

Source: LiteSpeed Cache Page Optimization. Verified 23 August 2026.

Autoptimize #

  1. Open Settings > Autoptimize > JS, CSS & HTML > JavaScript Options.
  2. Add tendlio to Exclude scripts from Autoptimize:, especially if Also aggregate inline JS? is on.
  3. If you optimize CSS too, add it to Exclude CSS from Autoptimize:. Autoptimize on its own has no unused-CSS safelist.

Source: Autoptimize plugin FAQ. Verified 23 August 2026.

SiteGround Speed Optimizer #

  1. Go to Speed Optimizer > Frontend > JavaScript.
  2. In Exclude from Deferral of Render-blocking JS, select the six Tendlio handles. The docs confirm minify and combine exclusion dropdowns but don't name them; select the same handles there.
  3. Leave Remove Query Strings From Static Resources off, or have a developer exclude Tendlio paths through SiteGround's sgo_rqs_exclude filter; sgo_javascript_combine_exclude_all_inline keeps inline scripts out of combining.

Source: SiteGround Frontend Optimizations and custom filters. Verified 23 August 2026.

Perfmatters #

  1. Go to Perfmatters > JavaScript. Add tendlio to Excluded from Delay and Exclude from Deferral, whichever you use.
  2. If JS minification is on, add it to Excluded from Minification too.
  3. Under Perfmatters > CSS > Remove Unused CSS, paste the list into Excluded Selectors. Keep your Used CSS Method as is.

Source: Perfmatters delay JavaScript, defer JavaScript, and Remove Unused CSS. Verified 23 August 2026.

FlyingPress #

  1. Under FlyingPress > Optimizations > Delay JavaScript, add tendlio to the exclusion input (the docs don't name it; go by the screen).
  2. Go to Remove Unused CSS > Include CSS Selectors and paste the safelist (current docs use that name, not the older Force include selectors).
  3. Purge and preload the affected pages.

Source: FlyingPress Delay All JavaScript and Remove Unused CSS. Verified 23 August 2026.

Jetpack Boost #

  1. Open Jetpack > Boost. For Concatenate JS, add the six Tendlio handles to Excluded Files.
  2. Defer Non-Essential JavaScript has no documented site-wide keyword field; its docs offer page URL patterns or a data-jetpack-boost="ignore" tag, so don't assume Excluded Files covers deferral; check the screen or ask support.
  3. Optimize CSS Loading documents regeneration, not a selector safelist. Regenerate its CSS after changes.

Source: Jetpack Boost settings and JavaScript deferral exclusions. Verified 23 August 2026.

WP Fastest Cache #

  1. Open WP Fastest Cache > Exclude and find the JavaScript rules.
  2. The docs don't name a keyword field for Delay JavaScript, so check the screen or ask support how to exclude /wp-content/plugins/tendlio/.
  3. Render Blocking Js documents data-wpfc-render="false" and data-cfasync="false"; we add neither.

Source: WP Fastest Cache Delay JavaScript and Render Blocking Js. Verified 23 August 2026.

W3 Total Cache #

  1. Go to Performance > Minify > Advanced.
  2. Add each Tendlio JavaScript path from your page source to Never minify the following JS files, one relative path per line. Don't rely on a bare keyword unless your version confirms partial matching.
  3. Save and purge. Files excluded here also stay out of Minify's async and defer groups.

Source: W3 Total Cache Minify settings and relative-path exclusion guidance. Verified 23 August 2026.

NitroPack #

  1. Go to NitroPack Dashboard > Cache Settings > Cache > Excluded Resources and enable it.
  2. Add a rule with *tendlio* in Asset URL/Code for external JavaScript, then a second rule for inline JavaScript.
  3. Leave Excluded Operations empty so all optimization skips them. Save and purge.

Source: NitroPack Excluded Resources and delay troubleshooting. Verified 23 August 2026.

Consent tools #

Our storefront script is first-party and functional: it measures your own widgets and talks to no advertising service. Don't work around your consent tool; allow-list /wp-content/plugins/tendlio/ in whichever necessary or functional category fits your policy, then test a product page before and after consent. CookieYes documents those categories and script URL patterns. Developers can wire consent through the tendlio_visitor_tracking_allowed filter (default true; false turns the measurement off). Source: CookieYes prior consent guide. Verified 23 August 2026.

Cloudflare #

Cloudflare says Rocket Loader handles inline and external scripts in order, and we haven't seen it cause a Tendlio problem. If it ever does, Cloudflare's per-script opt-out is data-cfasync="false"; we don't add it by default. Bot Fight Mode can answer our scripts' requests with a challenge page, and WAF rules can't skip it for one path. If checkout capture or the checkout greeting stops working, check Cloudflare Security Analytics for challenged requests. Sources: Rocket Loader, its script opt-out, and Bot Fight Mode. Verified 23 August 2026.

After you change a setting #

Save, clear the optimizer's page and file caches and any CDN cache, and regenerate used CSS if you changed an unused-CSS setting. Then open a product page in a private window and use the widget as a shopper would.

Then wait for real shoppers. Once page signals (the views and clicks our script reports) arrive again, the card returns to Running on its own and attribution picks up from that moment. Orders placed in between stay uncounted; we don't go back for them.

Frequently asked questions #

Will excluding Tendlio slow my site? #

Barely. The files are small, load only on pages that use them, and don't pull in jQuery. Everything else your optimizer does stays in place.

Why don't you add nowprocket or another opt-out yourselves? #

It would override your optimizer settings on every store and tie us to each vendor's tags. You decide what your optimizer skips.

Does this affect my Tendlio score? #

No. Both scores come from your orders and products. Page signals only measure storefront views, widget clicks, and which orders we can tie to a widget.

I fixed it. Why are the numbers still zero? #

Clear every cache, including your CDN, then wait for real shoppers. Counting starts from now; we don't rebuild the missing stretch.

Is checkout capture affected? #

Rarely. Capture fires after a shopper types, so a delay that waits for interaction has already lifted. A script error or bot challenge can still block it.

Which optimization plugin do I have? #

Look under Plugins > Installed Plugins in WordPress, then check your host's dashboard and CDN: either can optimize pages without a plugin of its own.

Related #

  • Abandoned checkout capture
  • Recovery insights
  • Customer recognition

Start your free trial of Tendlio.

Updated on October 4, 2026
A storefront widget doesn’t show upCart recommendations show nothing
Table of Contents
  • How you know you need this
  • The one-line fix
  • If you remove unused CSS
  • Two settings to leave off
  • Plugin by plugin
    • WP Rocket
    • LiteSpeed Cache
    • Autoptimize
    • SiteGround Speed Optimizer
    • Perfmatters
    • FlyingPress
    • Jetpack Boost
    • WP Fastest Cache
    • W3 Total Cache
    • NitroPack
  • Consent tools
  • Cloudflare
  • After you change a setting
  • Frequently asked questions
    • Will excluding Tendlio slow my site?
    • Why don't you add nowprocket or another opt-out yourselves?
    • Does this affect my Tendlio score?
    • I fixed it. Why are the numbers still zero?
    • Is checkout capture affected?
    • Which optimization plugin do I have?
  • Related
tTendlio

More profit from the WooCommerce store you already run.

Product

  • How it works
  • Why Tendlio
  • Pricing

Resources

  • Documentation
  • Guides
  • FAQ

Tendlio

  • About
  • Contact & support

Practical WooCommerce tips to help you sell more.

    An email when we publish a new guide, plus the news when Tendlio launches. Unsubscribe anytime. Privacy policy

    © 2026 Tendlio. Privacy Terms Refunds

    Cookie settings

    We'd like to use cookies to count visits and see how people use these pages. We set them only if you accept, and you can change your choice any time under Cookie settings.

    Functional Always active
    The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
    Preferences
    The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
    Statistics
    The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
    Marketing
    The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
    • Manage options
    • Manage services
    • Manage {vendor_count} vendors
    • Read more about these purposes
    Preferences
    • {title}
    • {title}
    • {title}