Bring checkout back into view.
- Starts after the visitor switches tabs
- Cycles between short, human prompts
- Restores the original title on return
Write what visitors see when they switch tabs. Teams that nail it report a +17.6% return rate*. Preview, then export one self-contained script.
Reported benchmark, not a guarantee. Measure your own lift.
Installs on every site that allows custom JavaScript
Pick the visitor moment, write a short sequence, and preview the exact tab title before you ship anything.
No code on the way in. No CDN on the way out. The whole thing lives in your site once you copy the script.
Set the original title, away messages, delay, loop behavior, and restore rule.
Switch the preview state and see the title exactly how it will appear in-browser.
Copy one readable JavaScript file. No TitleFlash CDN or runtime API needed.
// Self-contained, lives in your site
const messages = [
"Still comparing?",
"Your cart is waiting"
];
document.title = messages[next];
Most tab-title widgets load a script from someone else's CDN. TitleFlash doesn't. What you copy is what runs — on your domain, on your terms.
One small script file. Settings, messages, and runtime all baked in.
The script never calls TitleFlash at runtime. Nothing to whitelist.
Paste into HTML, GTM, or your CMS custom-code block. You decide.
No visitor tracking, no cookies, no fingerprinting. Title changes only.
<!-- One script, no external calls -->
<script>
const messages = [
"Still comparing?",
"Your cart is waiting"
];
const original = document.title;
let i = 0, timer = null;
document.addEventListener("visibilitychange", () => {
if (document.hidden) {
timer = setInterval(() => {
document.title = messages[i++ % messages.length];
}, 2000);
} else {
clearInterval(timer);
document.title = original;
}
});
</script>
Creating, editing, and previewing flows is free. You only pay when you're ready to export the production script for your site.
For active campaigns that change often.
For ongoing use across campaigns and sites.
No. The exported script is under 2 KB minified and runs in an isolated scope. It only listens for tab visibility changes. No network calls, no DOM scraping, no rendering work.
No. Open the builder anonymously, draft a flow, and preview it locally. You only sign in when you want to save across devices or export the production script.
No. The script you installed is yours. It never phones home. Cancellation only stops new edits and exports from the builder.
Anywhere custom JavaScript runs: direct HTML, Google Tag Manager, Webflow, Shopify, WordPress, Framer, Squarespace, and most other CMS or page builders.
No. Titles only change after the visitor switches tabs, and they restore the original title when the visitor returns. Your active page content is untouched.
Not in v1. You can rotate a sequence of messages, edit and re-export anytime, and use page-rule scoping. Multivariate testing is on the roadmap.
A small library for marketers, founders, and site owners who want respectful visitor attention ideas without adding noisy popups or heavy runtime tracking.
Understand why abandoned tabs happen, when title reminders help, and how to write a calm tab-title flow that does not interrupt the active page.
Read the guide Message examplesCopy short, calm inactive-tab messages for carts, pricing pages, setup flows, articles, and other pages where visitors may need a reminder.
Read the guideVisitors do not always reject your page. Often they open another tab, compare options, answer a message, or simply forget what they were doing. This guide is for site owners who want a practical way to make return visits easier without covering the page people are actively using.
A visitor can leave your tab for reasons that have nothing to do with dislike. They may be comparing prices, checking a review, waiting for a teammate, or opening several tasks at once. Once your page becomes a background tab, your headline, button, and offer are no longer visible.
That does not mean you should chase them everywhere. It means your site should make it easy to resume the task they already started.
Before adding any reminder, make the original page easier to resume. A good recovery flow feels like a bookmark for an unfinished task, not an alarm.
Bringing visitors back means giving them a clear, respectful path back to the page they chose to open. It can remind them that a cart, comparison, signup, or article is still waiting.
It cannot fix a confusing offer, a broken checkout, or a page that asks for too much too soon. It also should not pretend to know more than it does. If you do not have permission to contact someone, stay inside the browser experience they already opened.
| Helpful use | Poor use |
|---|---|
| Reminding someone that a cart, article, pricing page, or setup flow is still open. | Trying to rescue a page that is confusing, slow, or missing the next step. |
| Using calm copy that matches the page the visitor chose to leave open. | Using guilt, fake scarcity, or messages unrelated to the visitor's task. |
| Changing the title only while the tab is in the background. | Changing titles while the visitor is reading, checking out, or filling a form. |
Keep the copy short. Browser tabs cut off long messages quickly, so the first two or three words need to carry the meaning. Aim for two to four words when you can.
| Site type | Use when | Title sequence | Why it works |
|---|---|---|---|
| Ecommerce | The visitor left a cart, product, or checkout page open. | Still deciding? / Cart waiting | It points back to the unfinished shopping task without pressure. |
| SaaS | The visitor is comparing plans, demos, or signup options. | Still comparing? / See the plan | It matches the evaluation moment and keeps the next step visible. |
| Content | The visitor left a long article, lesson, or resource page. | Finish this guide / Saved for you | It reminds the reader that the page is still useful when they return. |
Treat this as a starting point to test, not a universal rule. The goal is to stay visible without making the tab feel noisy.
| Page moment | Delay after tab switch | Rotation pace | Message count |
|---|---|---|---|
| Cart or checkout | 8 to 12 seconds | Every 4 to 6 seconds | Two short titles |
| Pricing or demo page | 10 to 15 seconds | Every 5 to 8 seconds | One or two titles |
| Article or guide | 15 to 25 seconds | Every 8 to 12 seconds | One calm title |
A tab-title reminder is easy to overdo. Test the actual browser behavior before adding it to a live page.
TitleFlash is useful when you want to write, preview, and export a tab-title reminder without asking a developer to hand-code it. You can build the sequence, check how it looks in the inactive-tab state, and copy a self-contained script for your site.
The exported script is the runtime. It does not call TitleFlash after installation, does not load a TitleFlash CDN, and does not send visitor analytics back to TitleFlash.
Draft the messages, preview the inactive-tab moment, and export a script you control when you are ready.
Build a tab-title flow freeThe hard part is not changing the browser tab title. The hard part is writing a message that feels helpful in a small browser tab. This guide gives reusable inactive-tab title examples you can adapt, test, and ship without making your site feel pushy.
The best browser tab title messages are short, calm, and tied to the unfinished task.
Use one question or reminder first, then one more specific follow-up if the page has a clear next action. If the message does not make sense when only the first two or three words are visible, rewrite it.
A good inactive-tab title message should do one small job: help the visitor recognize why they left your page open.
It should not try to close the sale by itself. It should not create fake pressure. It should not say more than the browser tab can show.
| Rule | Good default | Why it matters |
|---|---|---|
| Length | Two to four words | Tabs become narrow when many are open. |
| Message count | One or two alternate titles | More messages are harder to scan and test. |
| Tone | Calm reminder | The visitor may be comparing, reading, or multitasking. |
| Context | Match the page | Cart copy belongs on cart pages, not every page. |
| Restore | Return to the original title when active | The page should feel stable when the visitor comes back. |
Start with a simple formula before trying clever copy.
| Formula | Use it when | Examples |
|---|---|---|
| Soft question | The visitor is deciding or comparing. | "Still deciding?", "Still comparing?", "Need this later?" |
| Saved state | The page truly preserves progress. | "Cart saved", "Draft saved", "Your size is saved" |
| Next action | There is a clear step to resume. | "Checkout is open", "See the plan", "Finish setup" |
| Content reminder | The page is something to read or watch. | "Finish this guide", "Keep reading", "You were here" |
| Low-pressure return | You want a general reminder. | "Still here", "Saved for you", "Come back anytime" |
Do not use saved-state copy unless the site actually saves the cart, draft, setup progress, or reading position. The message should match reality.
Ecommerce copy should point back to the shopping task without making the visitor feel trapped. Use the product, cart, checkout, or saved-selection context.
| Page context | First title | Second title | Use when |
|---|---|---|---|
| Product page | Still deciding? | Your pick is here | A shopper is comparing products or tabs. |
| Product variant | Your size is saved | Still available? | Size, color, or variant selection remains selected. |
| Cart page | Cart waiting | Checkout is open | The visitor has items in the cart. |
| Checkout page | Checkout is open | Finish when ready | The checkout state is preserved. |
| Wishlist or saved item | Saved for later | Your list is here | The visitor has intentionally saved items. |
Use care with scarcity. "Still available?" is only appropriate when availability is real and visible on the page. Avoid countdown-style copy unless the site has a real, accurate deadline.
SaaS visitors often leave because they are comparing plans, checking with a teammate, or reading docs. The message should help them resume evaluation.
| Page context | First title | Second title | Use when |
|---|---|---|---|
| Pricing page | Still comparing? | See the plan | The visitor is comparing tiers or alternatives. |
| Demo page | Demo details here | Book when ready | The page has demo information or a scheduler. |
| Signup flow | Finish setup | Your draft is saved | Progress is saved and the user can resume. |
| Feature page | Still evaluating? | Details are here | The page explains a feature or use case. |
| Docs or onboarding | Keep setup going | Step is saved | The visitor is following setup instructions. |
SaaS copy should stay plain. Avoid pretending the product is talking personally to the visitor unless the page experience already supports that tone.
For content, the message should feel like a bookmark. Do not use urgency for an article, guide, lesson, or resource that the reader can return to later.
| Page context | First title | Second title | Use when |
|---|---|---|---|
| Guide or article | Finish this guide | Saved for you | The content is long enough to resume later. |
| Tutorial | Keep learning | You were here | The visitor is following steps. |
| Video or lesson | Continue watching | Lesson is here | Playback or lesson state is clear. |
| Resource page | Keep this open | Details are here | The page is a reference or checklist. |
| Newsletter article | Keep reading | Story is here | The reader left mid-article. |
The safest content pattern is a reminder, not a demand. "Finish this guide" is direct. "You must finish this now" is not.
The same browser-tab tactic can feel useful or annoying depending on the copy.
| Good use | Poor use |
|---|---|
| "Cart waiting" on a cart page with saved items. | "You forgot to buy!" on every page. |
| "Still comparing?" on a pricing page. | "Your competitors are ahead!" on a pricing page. |
| "Finish this guide" on a long article. | "Do not leave us!" after the reader switches tabs. |
| One or two slow title changes. | Rapid flashing or a long loop of different messages. |
| Restoring the original title on return. | Keeping the attention message after the visitor comes back. |
If the copy would look strange as a small sticky note on the visitor's desk, it probably does not belong in the browser tab.
Test the sequence before shipping it to a live page.
Start with a delay of 8 to 12 seconds for carts, 10 to 15 seconds for pricing or demos, and 15 to 25 seconds for articles or guides. Use a slower pace if the message is not tied to a high-intent action.
TitleFlash is useful when you want to draft these messages, preview the inactive-tab moment, and export a self-contained script without hand-coding the behavior.
The exported script is the runtime. It does not call TitleFlash after installation, does not load a TitleFlash CDN, and does not send visitor analytics back to TitleFlash.
Write the titles, preview the inactive-tab state, and export a script you control when the sequence feels right.
Build a tab-title flow freeThese pages summarize how TitleFlash runs the builder, export flow, billing, and support path.
Privacy
Effective May 16, 2026
TitleFlash stores account, domain, automation, builder, entitlement, payment status, export, and support-related records needed to run the app and help customers.
Firebase supports Google sign-in, Convex stores application data and authorizes exports, and Dodo Payments processes checkout, subscription, and entitlement events.
Exported scripts run from the customer site after installation. They are not a TitleFlash-hosted runtime and do not require a live TitleFlash API call to operate.
Terms
Effective May 16, 2026
TitleFlash lets site owners build browser-tab title message flows, preview behavior, and export a self-contained script for their own site or approved client sites.
Customers are responsible for where they install exported code, how they disclose it to their users, and whether it is appropriate for their site, market, and policies.
TitleFlash does not remotely enable, disable, or operate installed v1 scripts. If a campaign changes, customers should export again and reinstall the updated snippet.
Billing
Effective May 16, 2026
TitleFlash offers a $2.49 single-script export, a $4.99/month unlimited plan, and a $29.99/year unlimited plan. Building and previewing can happen before payment; production script export requires an active entitlement.
The single-script export is a one-time purchase for one generated script on one website/domain. Later edits, new domains, and new scripts require Monthly or Yearly.
Dodo Payments processes checkout and sends entitlement events to TitleFlash through verified backend webhooks. TitleFlash does not put Dodo API keys in the browser app.
Until self-serve billing management is complete, customers can request cancellation, billing help, or refund review through support@titleflash.com.
Support
Effective May 16, 2026
Support can use TitleFlash app records such as account, domain, automation, entitlement, payment status, export metadata, and Convex function errors.
The v1 installed script does not send visitor activity back to TitleFlash, so support cannot inspect customer-site visitor behavior from the runtime.