Troubleshooting common issues
Most of what looks like a bug in BrandOps is actually one of a handful of expected states: an OAuth token that expired, an address on your suppression list, or a trial that ran out. This guide covers what's actually happening and how to fix it.
Integrations that say "needs reconnecting"
OAuth-based connections (Google, Meta, Twitter, Instagram, Facebook Business) carry access tokens that expire or get revoked on the provider's side, not BrandOps's.
- Settings → Integrations flags any connection where this has happened with a visible "expired" warning on that platform's card, so you don't have to guess why a sync stopped.
- Google's card covers YouTube Analytics, Google Analytics 4, Search Console, and Google Ads all through one OAuth connection. If it needs reconnecting, all four stop syncing together.
- Reconnecting is just running through that provider's OAuth consent screen again; it doesn't reset or lose any historical data already synced.
- If a scheduled sync (like the ad-spend cron job) hits a needs-reconnect account, it skips that account rather than failing the whole run for every other connected account.
Emails that silently stop sending
BrandOps checks every outbound email against a per-organization suppression list before it sends. This is a deliberate deliverability safeguard, not a bug.
- An address lands in EmailSuppression after it bounces or files a spam complaint, and every future send checks that list first.
- This applies at send time, live, not just once. A brand-new lead record you re-import or manually re-add for an address that was suppressed weeks ago has no memory of that history, but the live check still catches it and blocks the send.
- This exists to protect deliverability for your whole list. One bad address kept getting hit doesn't just hurt that recipient; it damages your sender reputation for everyone else on outreach and campaign sends.
- If a contact insists they never opted out but isn't receiving mail, check whether their address is suppressed before assuming a template or sequence itself is broken.
Locked out after trial expiry
BrandOps gives every organization a 14-day trial. Once trialEndsAt passes with no plan chosen, a full-screen plan picker takes over instead of a hard redirect.
- The overlay sits on top of whatever page was already rendering. It doesn't send you anywhere, so picking a plan just makes it disappear and leaves you exactly where you were.
- It polls for payment completion automatically (roughly every 15 seconds) while locked, since a Razorpay payment can complete in another tab or take a few seconds for the webhook to land. You don't need to refresh manually.
- A handful of pages, including Daily Ops, Brand Kit, and Notifications, are explicitly allowed to stay reachable even while locked, so a lapsed trial doesn't cut off everything at once.
- Only the account owner can complete a plan purchase for the organization. If you're not the owner and see this screen, you may need to ask them to upgrade.
Stale or missing data after connecting a tool
A newly connected integration or a recently changed setting doesn't always reflect everywhere instantly. A few things are worth checking before assuming something's broken.
- A fresh OAuth connection needs its first sync cycle to run before analytics, ad spend, or content data populates. This can take a few minutes depending on the provider.
- If a connection needed reconnecting and you just fixed it, scheduled syncs pick it back up on their normal cadence rather than immediately. Check Settings → Integrations to confirm the connection itself is now healthy.
- Business type changes apply instantly to your sidebar, but they don't retroactively create data for modules you've just gained access to (e.g. switching to Consulting doesn't backfill Clients). You start those modules from zero.
- If something still looks wrong after checking the above, it's faster for support to help if you can note which page, which integration, and roughly when it stopped looking right.
Frequently Asked Questions
Why does my integration say it needs reconnecting?
OAuth connections (Google, Meta, Twitter, Instagram, Facebook Business) carry an access token that eventually expires or gets revoked. When BrandOps detects that, it flags the connection as needing reconnection and shows an "expired" warning on that platform's card in Settings → Integrations. Reconnecting is a matter of clicking through that provider's OAuth flow again.
Why aren't my emails sending to a certain address?
That address is probably on your organization's suppression list. BrandOps checks every send against EmailSuppression before it goes out, and skips any address that's hard-suppressed, usually because it previously bounced or filed a spam complaint. This protects your sending reputation for every other address on the list.
Why is my dashboard suddenly locked with a plan picker over it?
Your 14-day trial ended without a plan being chosen. BrandOps shows a full-screen overlay over whatever page you're on until a plan is picked. Your data is untouched, and the moment payment goes through, the overlay clears and you're back exactly where you were, no re-navigation needed.
Can I still use Daily Ops or Brand Kit while my account is locked?
Yes. Daily Ops, Brand Kit, and Notifications are among the pages built to stay reachable in a locked billing state, so you're never fully cut off from your core workflow while sorting out payment.
A lead I re-imported isn't getting emails, but I never suppressed them. Why not?
A brand-new lead record created for an address that was already suppressed weeks earlier starts life unaware of that history. The suppression event only cross-synced status at the moment it originally happened, not retroactively. The live check at send time is what catches this, so the address still won't get mail even though the new record itself looks clean.
My newly connected integration shows no data yet. Is something broken?
Usually not. A freshly connected integration needs its first sync to run before analytics, ad spend, or content data shows up. Give it a few minutes, then check Settings → Integrations for the account's connection status before assuming it's broken.
How do I contact support directly?
Email info@brandops.in or message +91 90240 26899 on WhatsApp. Both are monitored by the BrandOps team directly.
Still stuck?
The BrandOps team answers both of these directly, with no ticket queue.
Related guides
How notifications work
See where integration and activity alerts actually show up once something changes.
Getting started guide
The 14-day trial, onboarding, and what happens the moment your trial period ends.
Install BrandOps as an app
Offline behavior, service worker updates, and what to expect if BrandOps feels out of date.
Prefer email? info@brandops.in, or reach us on WhatsApp at +91 90240 26899.
