Where it runs
Balanik is a WordPress plugin. Every calculation happens on your server, and every dashboard request goes to your own site. There is no Balanik server that holds your store data.
What it never sends
- No order, customer, product or revenue data, to anyone.
- No third-party scripts, fonts or CDNs. The font and images in the dashboard ship with the plugin.
The outbound calls it does make
Pro checks its licence and receives updates through Freemius, our reseller. When you start the trial or activate a licence, Freemius receives your name, email and site address. It also gets your WordPress and PHP versions and plugin events such as activation.
Apart from that, Balanik only contacts the ad platforms and spend feeds you set up yourself, and only to fetch your ad spend. Those requests carry your credentials, account ID and the date range.
| Source | What your site sends | What comes back |
|---|---|---|
| Meta, and advanced direct connections | Your access token, account ID and dates | The account’s currency and time zone, and daily spend per campaign |
| Windsor.ai | Your Windsor API key, the data source and dates | Daily spend per campaign |
| A CSV link | A request to the link you saved | The spend file |
| Google Ads Script | Nothing. The script runs in your Google Ads account. | The script sends the last 30 days of campaign costs to your site |
No order, customer, product or revenue data is sent to any of them. Like any WordPress request, these calls include your site address in a standard header.
The optional summary email is sent by your own WordPress to the address you choose. It travels through whatever mail service your site uses.
This covers Balanik only. Other services on your store still see order and customer data. That includes your payment provider, carriers, email tools and ad pixels. If you use Windsor.ai, it sees the ad spend of the accounts you connect there.
What it stores in your database
To build reports, Balanik keeps a copy of order IDs, product and variation IDs, line names, quantities, amounts, dates, and payment and shipping method IDs. It doesn’t copy billing names, addresses, email addresses or customer profiles. To recognise returning customers, it stores a scrambled code made from the billing email with your site’s secret key. The email can’t be read back from it. It also keeps the order’s country, coupon codes and the source WooCommerce recorded for it. That covers the source type, the UTM source, medium and campaign, and the referring site’s domain. From ad platforms, it stores account details such as currency and time zone, and daily spend per campaign.
How your credentials are protected
- Access tokens, API keys and spend feed links are encrypted with AES-256-GCM. The key comes from your WordPress authentication salts.
- If you change those salts, the saved credentials can’t be read any more. Reconnect your ad accounts and feeds afterwards.
- Credentials are never sent back to the browser. Error messages leave out tokens and raw provider responses.
- The Google Ads Script key is shown once and stored only as a hash. Creating a new script switches the old key off.
Encryption protects the saved values in your database. It can’t protect them from someone with full access to your server.
Who can see what
| User | What they can do |
|---|---|
| Balanik viewer | Open every report. Can’t change costs, connections or settings. |
| Shop manager | View reports, edit costs, import orders and ad spend. |
| Administrator | Everything, plus ad connections, spend feeds, the Google Ads Script key, the summary email and visitor tracking. |
The Balanik viewer role is added once an administrator opens the WordPress admin with the plugin active. Assign it under Users to anyone who should only read the numbers. Any user who can manage WooCommerce can also view the reports.
Optional shopper activity
The shopping floor in the live view is off by default. Only an administrator can switch it on. It needs a supported consent tool on your store:
- CookieYes, with an explicit analytics choice
- Complianz, with statistics allowed
- The WP Consent API, with statistics allowed
Installing Balanik never adds or activates a banner. Visitors who don’t consent aren’t recorded. Logged-in shop managers and administrators aren’t tracked either.
After consent, a signed cookie lasts 15 minutes and renews while the visitor is active. For each visitor, Balanik stores a pseudonymous ID and the time of last activity. It also keeps up to 12 product names and quantities, the cart value, recent steps and a temporary link to the order. It stores no IP addresses, full URLs, referrers, names, emails or checkout field values.
Activity leaves the live view after 15 minutes. Old records are deleted on the next read or by an hourly clean-up. Switching tracking off, deactivating or uninstalling the plugin deletes them all.
Pseudonymous is not anonymous. If you turn this on, describe it in your store’s privacy notice and consent settings.
What uninstalling removes
When you delete the plugin, it removes saved credentials, the Google Ads Script key, unfinished import jobs, summary email settings and shopper activity. It keeps cached reports and cost settings, so a reinstall picks up where you left off.
To remove everything, add this line to wp-config.php before you delete the plugin:
define( 'PROFIT_LITE_DELETE_DATA', true );
That also removes the plugin’s own tables and settings, including costs you entered in Balanik. It never deletes WooCommerce orders. It never touches product costs saved by WooCommerce or your cost plugin.