Data we process
MarginBundle processes Shopify store data needed to create, publish, and measure offers. This can include shop identity, product and variant data, inventory signals, product costs entered by the merchant, discount configuration, storefront widget settings, app settings, billing status, order attribution data, customer tags used for merchant-enabled customer groups, referral membership, and aggregate performance metrics.
How data is used
Data is used to calculate margin-aware bundle and add-on offers, publish app-managed discounts through Shopify checkout, display storefront widgets, maintain customer group eligibility when enabled by the merchant, generate recommendations, attribute offer performance, and show aggregate analytics inside the app.
Public installation measurement
When a visitor follows a public installation path, MarginBundle may increment an anonymous daily count for its fixed campaign source. This aggregate contains only the date, source label, and count; it does not store an IP address, cookie, user agent, click identifier, email, shop domain, or other visitor identifier.
Customer data
Customer data is limited to what is needed for customer group eligibility, customer tag workflows, referral membership, and aggregate reporting. MarginBundle does not sell customer personal information and does not use customer data to build unrelated advertising profiles.
Retention and deletion
When a merchant uninstalls the app, public offer serving stops for that shop. Shopify privacy webhooks are handled idempotently for customer data requests, customer redaction, and shop redaction. Operational records are retained only as needed for app operation, compliance, security, and troubleshooting.
Security and platform dependencies
MarginBundle runs on Shopify APIs, database services, worker processing, and queue infrastructure. Access to merchant data is scoped to app functionality, and public pages never expose merchant costs, internal scores, tokens, stack traces, or raw Shopify API payloads.
Privacy contact
For privacy questions, data requests, or support related to this app deployment, use the support page. We may ask for the shop domain and enough context to verify and route the request.
App impact and estimate boundaries
MarginBundle reads catalog, inventory, accessible Shopify unit cost, and enabled operational data. A manual cost can override imported unit cost. Shopify changes begin only when a merchant publishes or pauses an offer: the app manages its discount resources and storefront offer serving, but does not bypass checkout, silently rewrite product prices, or expose merchant costs to shoppers. Profit guidance is estimated gross margin, not net profit, and excludes shipping, payment fees, returns, taxes, and advertising spend.
Pause offers before uninstall
Before uninstalling in Shopify, use Settings to pause all active and scheduled MarginBundle offers and review each outcome. Uninstall stops authenticated app access and MarginBundle storefront serving. Shopify privacy webhooks handle applicable data requests; limited records may be retained for compliance, security, and recovery. Reinstall may restore retained configuration, but resource cleanup or restoration is not promised unless the app can verify it.
