Frequently asked questions

Last updated 22 July 2026

Straight answers about how ProfitTap works, what it costs, and where its limits are. If your question is not here, write to a human at info@webforgepro.net.

Getting started

The three things to check first, before anything shows on your storefront.

I installed ProfitTap and nothing shows on my product page. What is missing?

Installing the app is not enough. ProfitTap is delivered as a theme app block, so the block has to be added to your product template before anything renders on the storefront. Until you do that, the panel works but your customers see nothing.

In the panel, press Add the banner to my theme. That opens your theme editor on the product template with the ProfitTap block already placed inside the main product section, next to the price and the buy buttons — not in a separate Apps area at the bottom of the page.

Then press Save in the theme editor. That save is the moment the banner goes live. If you want it somewhere else within that section, drag it before saving.

The theme editor shows a red "problem with the app block" notice. Is something broken?

Usually not. That notice most often appears when the block is already in your theme. Save, then open a product page on your storefront and look for the card.

Does it work with my theme?

It works with any theme that supports app blocks (Online Store 2.0). That is a hard requirement: the app cannot inject itself into a theme without app block support.

The card inherits your theme's font and text colour and mixes its own surfaces from that colour, so it reads correctly on light and dark themes with no configuration. The block itself exposes three settings: accent colour, card background (leave it empty and it blends with your theme) and corner radius. Everything else is configured inside the app.

How it works

What the shopper sees, and how much control you have over it.

Where does the banner appear? Can I use it on the cart or at checkout?

Product pages only. There is no cart-page, checkout, post-purchase or thank-you-page upsell.

Each product page shows exactly one offer. ProfitTap does not show bundles, carousels or several recommendations at once.

What does the autopilot recommend if I configure nothing?

The autopilot is on by default, so a fresh install already recommends something. It looks at both Shopify's own related-products recommendations for that page and your wider catalogue at once, checking stock live on your storefront, so it only ever offers a variant that is actually buyable. Given the choice it prefers a complement — a product of a different type than the one being viewed (wax for a snowboard) — over a same-type alternative, choosing across both sources; a same-type product is offered only when no complement is buyable anywhere. It excludes the product being viewed and gift cards. If nothing buyable exists, no banner is shown at all.

It prefers single-variant products, so a one-tap recommendation does not pick a size or colour on the shopper's behalf. When the offered product does have options, the card names the exact variant the button will add.

Be clear about what this is. It combines Shopify's related-products list with your own catalogue, filtered by real stock, preferring a complement over a same-type alternative and preferring single-variant products. There is no intelligence about margin, price bands, purchase history or A/B testing, and the app applies no discount or bundle price — the recommended product is added at its normal live price.

Can I choose the recommended product myself?

Yes. In the panel you create a rule with Shopify's resource picker: a source product (the page where the banner appears) and an offer product (what gets recommended), plus an optional custom title and description.

A manual rule always wins on its own product page. If the product you chose to offer is sold out, the rule steps aside and the autopilot takes over rather than showing a dead card. Pages with no rule show the autopilot, as long as it is on; turning the autopilot off means only your own rules appear.

Two limits worth knowing. You can have one rule per source product — creating a second one on the same product is refused with a pointer to edit the existing one, so your custom copy is never silently replaced. And rules can be created, edited and deleted, but there is no way to pause one from the panel today.

What languages does the card speak?

The shopper-facing card speaks 15 languages: English, Spanish, Catalan, French, German, Italian, Portuguese, Dutch, Japanese, Czech, Danish, Norwegian, Polish, Romanian and Swedish. The language comes from the storefront request locale; anything we do not cover falls back to English.

Product names are never translated by us — they come straight from your Shopify catalogue. And if you write your own title and description on a rule, that text overrides our translated copy for every shopper language. Leave those fields empty if you want the automatic translated wording.

The merchant panel is a different thing and speaks two languages: English and Spanish.

Billing

No fixed cost, one success fee, and the edge cases spelled out. Full detail on the pricing page.

What does ProfitTap cost?

The app is free to install. No monthly fee, no plans, no tiers. The only charge is a success fee of 3% on the sales ProfitTap generates.

There is a 30-day free trial, and the clock does not start when you install — it starts the first time the banner actually works on your storefront. If you never added the block to your theme, the full trial is still ahead of you. Days remaining are rounded up, so a started day counts in your favour.

Every sale generated during the trial is free forever; it is never charged retroactively. Authorising the 3% early is safe, because while trial days remain sales stay free even if you already approved. If the trial expires without authorisation the banner stops rendering — nothing is deleted, and authorising brings it straight back, with the commission counting only from that moment on.

How do you decide a sale was generated by ProfitTap?

The banner button adds one unit per tap, and we record that add against the cart. When the order is paid, Shopify's order notification tells us what was actually bought, and we match the variant our button added.

The 3% is calculated only on the value of the unit or units our button put in the cart, valued per unit in your shop's own selling currency, after discount and before tax. If the shopper later raises the quantity on that line themselves, the commission is still capped at the units the banner added; if they lower it, we bill the smaller number. Each commission is rounded per sale, so your invoice is the sum of individual fees rather than 3% of a grand total.

When am I charged, and what happens if the buyer returns the product?

Not when the order is paid. A commission matures and is charged 30 days after the sale, once the return window has passed. ProfitTap never touches your card: each commission is reported to Shopify as a usage record on the subscription you approved, and Shopify bills you. The same sale can never be charged twice, because each charge is keyed to the attribution event.

If the order is fully refunded or cancelled inside those 30 days, the commission is never charged. On a partial refund we charge 3% only of what you actually kept. If we cannot read the refund state with certainty — deleted variant, a custom-amount refund with no line items, a purged order — we do not charge, and an event that stays unverifiable is written off for good after 55 days.

The honest drawback: once a commission has been charged it is final. A Shopify usage record cannot be undone, so a refund that happens after the 30-day window does not give the commission back.

What is the spending cap Shopify asks me to approve?

A monthly safety ceiling you approve on Shopify's own screen before anything can be charged. It is not a price — you never pay the cap; it only limits how much can be charged in a cycle. The default depends on your billing currency (for example 600 EUR, 600 USD, 480 GBP, 90,000 JPY).

If you reach it, the banner pauses until your next billing cycle or until you approve a higher limit — it comes straight back with one click. Nothing is deleted: your rules, settings and figures stay as they were, and any commission that bounced off the cap is picked up once a higher cap is approved. The panel warns you at 80% and offers to double it — and raising it always needs fresh approval on Shopify's screen, so it is never changed silently.

Can I switch the 3% off?

Yes, from the panel yourself — one button plus a confirmation, without contacting support.

When you deactivate, a farewell sweep runs first and charges what has already matured (30 days old, refunds verified), up to 25 commissions in that pass. Anything left over stays on your account and is only charged if you authorise again. Nothing younger is charged while billing is off.

Sales attributed while billing is off are free forever. Sales made earlier under an active agreement stay billable and are collected if you authorise again — the panel shows them as on hold, so nothing is a surprise.

My store does not sell in one of Shopify's billable currencies. What then?

Your subscription is created in your own Shopify billing currency, never defaulted to US dollars. If you sell in a currency Shopify cannot bill, the commission is computed in your selling currency and converted using the European Central Bank's daily reference rates. A cached fixing older than seven days is rejected and the charge simply waits — we do not guess a rate.

The rate is the one from the day the commission is charged, 30 days after the sale — not the day of the sale. The sale value itself is frozen in your own selling currency the moment it happens and never changes, so the 3% is always 3% of what you earned that day; only the conversion uses a later rate, because that is when the money moves.

The conversion applies a 1% margin against us and rounds down, so both steps favour you. Every converted charge carries its audit trail on your Shopify invoice line: source, fixing date and reference cross rate. Because of that margin, recalculating from the printed rate gives a slightly higher number than we actually charged.

If you sell in a currency that is neither billable by Shopify nor covered by the ECB list (Argentine peso and Colombian peso, for instance), the commission is not charged: it stays unbilled and waits until that currency becomes convertible.

Privacy and data

What we hold, what we ask for, and what happens when you leave. Full detail in the privacy policy.

What data do you keep about my buyers?

No buyer names, emails, postal addresses, phone numbers, IP addresses or browsing history. The order notification is read only to match variants and sum the line value; no customer field is ever read or stored. When Shopify sends us a customer data request, the shopper's email and phone in that payload are deliberately never logged.

Per attributed sale we store a pseudonymous cart token, the order reference, the recommended variant, the units added, the sale value and its currency — plus operational fields that identify nobody: your shop domain, which product page showed the banner, whether the offer was manual or automatic, the timestamps, and the billing fields.

Our retention policy is 24 months. After that an automated job erases cart tokens unconditionally, and erases order references too — except on events that could still legitimately be charged, which keep the reference on a legal-obligation basis.

If a shopper asks to be redacted, we scrub the cart token and the order name but keep the row, because the commission may already be invoiced and your billing history has to stay auditable. We do keep the internal order id — it is what lets us verify a refund and prove a charge — so what remains is a bare order reference, an amount and a currency, with no name, email, address, phone or IP attached, because we never held those.

What permissions does the app ask for, and why?

Three scopes, all read-only: read_products, read_orders and read_all_orders. No product, order, theme or customer is ever created, edited or deleted by ProfitTap.

The one thing it does write to is the shopper's cart, when they tap the button — one unit, through Shopify's own cart API. That is the whole point of the button, and it is the only write ProfitTap performs anywhere.

read_products is used only for the resource picker where you choose the offer. It was write_products until 21 July 2026 and was downgraded because the app performs zero product mutations. read_all_orders exists for one reason: a commission matures at 30 days and may be retried later, so we sometimes need to check refund status on orders older than Shopify's standard access window. Only refund and cancellation state is read.

Your storefront never sends us your shop domain either — it is derived server-side from Shopify's signed request, so no caller can read another store's data.

What happens if I uninstall?

Uninstalling turns billing off and keeps your settings row, so the trial clock survives a reinstall shortly after.

Forty-eight hours later Shopify sends the shop redaction request and we erase everything we hold for your shop in a single transaction: attribution history, settings, rules and sessions. After that, reinstalling starts a fresh trial.

Troubleshooting

Two things worth checking before you write to us.

A shopper tapped the button but the cart counter did not move.

The item is added through your theme's own cart. Right after the add we make a best-effort attempt to tell the theme to refresh: we dispatch the cart-refresh events common themes listen for and update the usual cart-count elements.

Some themes use neither, so the counter can lag even though the product is genuinely in the cart. Open the cart or reload the page to confirm. We cannot promise the counter repaints instantly on every theme and every cart drawer — if yours does not, tell us which theme you use and we will look at it.

Will it slow down my store?

The card is a theme app block on your product pages. It makes its own requests to fetch the recommendation and check live stock, so it is not free — but it runs only on product pages and shows a single offer.

If a request fails, the banner tries again twice — after 4 seconds, then 8 — and if the third attempt also fails it stays silent for that visit rather than showing something misleading. That is also why a banner can occasionally be missing on a slow connection.

We do not publish a page-weight or latency figure, because we have not measured one. We would rather say that than quote a number we cannot back.

Still stuck?

Write to info@webforgepro.net. A person answers. Telling us your store domain and what you were doing when it went wrong gets you a useful reply faster.

Free to install. No monthly fee. You pay 3% only on the sales ProfitTap generates for you — and nothing on the rest of the order.

Install on Shopify

30-day free trial · Monthly cap you approve · Turn it off yourself, any time