Home / How it works
From a tap on your storefront to a number on your dashboard
No black box. Here is every moving part, in the order a shopper meets them.
A visitor allows notifications
The theme app embed loads a small script on your storefront. When a shopper accepts the browser's notification prompt, their browser hands over a push endpoint — an address the browser vendor will accept messages for.
- The endpoint belongs to the browser, not to you — nobody else can send to it
- Your store gets its own signing keypair, so notifications are provably from you
- No email address or phone number is collected at this point
- Put the invite behind any element in your theme with a data attribute
Three things the embed watches
Only what the automations actually need. Every request is signed by Shopify's app proxy, so nothing else can post data into your store's account.
Cart changes
A snapshot of the cart — items, value, currency — whenever it changes. This is what makes abandoned-cart recovery possible for a shopper who never gave you an address.
Product views
Which product and variant a subscriber looked at, whether it was in stock, and the price at the time. Back-in-stock and price-drop alerts read from this.
Notification clicks
A click carries a campaign tag into the cart as an attribute. When the order is created, Shopify's webhook lets Qpushly match order to send.
What the embed does not do: call third-party geolocation services, load fonts or scripts from another origin, or track visitors who have not subscribed.
A scheduler sweeps every ten minutes
Nothing depends on you having a tab open. On each pass Qpushly looks for campaigns whose time has come, reminders that are due, carts that have gone quiet, and browsers that were abandoned — for every shop, one at a time.
- Sends are signed with your store's own keypair before they leave
- A subscriber never receives the same reminder twice
- Failures are recorded per subscriber rather than silently dropped
- Endpoints the browser has revoked stop being retried
Then it shows up in your admin
Revenue generated, subscribers, campaigns sent and impressions on the dashboard; a growth chart over 7, 15, 30 or 60 days; and per-campaign and per-automation numbers wherever you are looking at one.
- Impressions and clicks per campaign
- Orders and attributed revenue, matched via order webhooks
- Conversion rate per automation
- Subscriber breakdown by browser, OS and device
Where your data lives and when it leaves
Scoped to your store
Every record is tagged with your shop domain, and every storefront request is verified against Shopify's signature before it is accepted.
Deleted on uninstall
Uninstalling removes your access tokens immediately. Shopify then sends a shop-redact request, and every row belonging to your store is deleted.
Customer requests handled
Shopify's data-request and redaction webhooks are implemented. A request assembles everything held for that shopper into a file you can download from the app; a redaction deletes their record, cart history and attributed orders.
Full detail in the Privacy Policy.
Two minutes to the first subscriber
Install, enable the theme embed, open your own storefront and accept the prompt. You will see yourself in the list.