Effective date: October 2, 2026 · Operator: PreTech Park, Dhaka, Bangladesh · Contact: support@pretechpark.com
PreSet Promo ("the App") is a Shopify application that lets merchants schedule and run promotional campaigns on their storefronts. This policy explains what data the App collects, why, how long it is kept, and who processes it.
Data we collect from merchants
- Shop identity and access: your shop's myshopify.com domain and the Shopify access token the App needs to operate. The App does not store staff members' names or email addresses.
- Shop settings from Shopify: your store's currency, primary language and timezone, and whether it is a development store, so money, countdowns and schedules display correctly.
- Campaign configuration: everything you create in the App — campaign names, messages, colours, dates, targeting (collections, products, countries), discount settings, boosters, saved templates, plans and drafts. If you show a discount code of your own on a campaign, the code text is stored so the banner can display it.
- Subscription status: your App plan, via Shopify's billing. Payment details are handled entirely by Shopify — we never see them.
- Calendar feed (optional): if you create a calendar link on the Calendar page, anyone with that private link can read your campaigns' names, messages and dates. You can regenerate the link at any time, which revokes the old one.
- Support messages: when you contact us from the App's Help page, the message you write is emailed to our support inbox together with your store name, store email, the store owner's name and your plan, so we can reply. The App does not store the message.
Data we collect from storefront visitors
The App's storefront widget collects anonymous campaign analytics only:
- Event counts: banner impressions, visits (one per browsing session), add-to-cart clicks and discount-code copies, sometimes with the product page the event happened on.
- Display check: whether the cart reward bar could be shown on the store's theme, with the theme's public name. It helps us fix display problems and contains no information about the visitor.
- Country: the visitor's country (from Shopify) is used to show only the campaigns that apply there. It is not stored.
- IP addresses: a visitor's IP address is used only for a moment to limit abusive request rates (a counter that expires within about a minute). It is never stored with analytics or used to identify anyone.
The widget stores small values in the visitor's own browser (localStorage/sessionStorage) — a cached copy of the active campaign, closed-offer, removed-free-gift and "already counted this visit" flags, and similar display state. It sets no cookies. These values stay in the visitor's browser, are not used to track visitors across sites, and are not advertising identifiers.
When a shopper adds to cart while a campaign's banner is showing, the widget adds a campaign reference to their cart (plus small technical markers, including one on an automatically added free-gift line), and any gift message the shopper types is saved on the order. These live inside the merchant's own Shopify store; the App does not store gift messages.
Order data from Shopify
Shopify sends the App new orders, refunds and cancellations, and the App also reads recent orders to fill any gaps. Shopify's order data includes customer details, but the App uses only the discount, cart-attribute and line-item amount fields. It stores only the order ID, net sales and refund/cancellation amounts, whether a campaign's code was used, and the discounted products (product ID, title and quantity). (Until 24 September 2026 the App also kept your store's total net sales for each campaign period and the 4 weeks before, to show a "revenue lift" figure. That feature was removed and every figure it had stored was deleted on that date; encrypted backups taken before then expire within 90 days.) The App's database stores no customer name, email, address, phone number or customer ID.
How we use data
Solely to provide the App's features: displaying campaigns, applying their discounts, computing campaign analytics and revenue attribution, answering support requests, and operating your subscription. We do not sell data, share it with advertisers, or use it for any purpose beyond operating the App.
Emails we send
- Welcome email: one email to your store's email address when you first open the App, with setup steps.
- Support replies: replies to messages you send us.
We do not send marketing or automated report emails.
How long we keep data
- Display check: the latest result per cart-bar surface (drawer, popup, cart page) is kept for 30 days, then deleted automatically.
- Campaign analytics: detailed event and order rows are kept for up to about 14 months, then deleted automatically. Your plan decides how far back you can view them; downgrading hides older data rather than deleting it.
- Everything else is kept while the App is installed, until you delete it in the App. Deleting a single campaign removes the campaign and its own analytics page; its anonymous event and order rows stay in your store's totals (no longer linked to any campaign) until the retention period above ends. Delete all campaigns (in the App's Danger zone) removes every campaign and all analytics.
Uninstalling and data deletion
- When you uninstall, the App stops acting on your store right away: it deletes its access to your shop and tries to remove the discounts it created (any it can no longer reach stop at their scheduled end date). Your campaigns, templates and analytics are kept for about 48 hours so that reinstalling within that time finds everything intact.
-
About 48 hours after uninstall, Shopify sends the
shop/redactrequest and the App permanently deletes all data for your shop (campaigns, analytics, settings, templates, plans, drafts); encrypted backups expire within 90 days. If you reinstalled within that window, the App is live again and your data is kept.
GDPR / privacy requests
The App implements Shopify's mandatory privacy webhooks:
- customers/data_request: the App stores no customer names or contact details. Our support team sends the store owner the order records the App holds for that customer's orders (order ID, amounts and products) within 30 days.
- customers/redact: the App deletes the order records it holds for that customer's orders. Campaign totals are anonymous sums and stay; encrypted backups expire within 90 days.
- shop/redact: all data for the shop is permanently deleted, as described above.
To ask what data we hold about your shop, or to correct or delete it, email support@pretechpark.com.
Service providers
We use the following providers, each only to deliver its part of the App:
- Shopify — the platform the App runs on (including billing).
- Fly.io — application hosting, logs and the database, in the United States. The App is operated from Bangladesh, so your data is transferred to and processed in the United States.
- Upstash — a short-lived cache for campaign data, analytics counters waiting to be saved, brief order-processing locks, and rate-limit counters (which hold a visitor's IP address for about a minute), and the 30-day display check.
- Resend — delivery of the welcome email, support messages, and customer data-request records sent to our support inbox.
- GitHub — encrypted storage of our database backups (private, kept for 90 days).
- Slack — our internal error alerts, which can include a store's domain and Shopify order or customer ID numbers, never customer names or contact details.
- Namecheap (Private Email) — hosts our support inbox (support@pretechpark.com), which receives your support messages and customer data-request records.
Security
Data is transmitted over HTTPS, admin requests are authenticated with Shopify session tokens, every database query is scoped to a single shop, and the App requests only the Shopify access it needs. Storefront endpoints are signature-verified and rate-limited.
Changes & contact
We may update this policy; material changes will be reflected by a new effective date. Questions or requests: support@pretechpark.com.