FAQ

Frequently Asked Questions

Common questions about setting up PushPilot, connecting push providers, campaigns, and billing.

Setup & Connections

I uploaded my Firebase service account JSON but the project shows as "invalid". What should I check?

Check the following:

  • The file is a valid service account JSON (not a Firebase config file or google-services.json).
  • The service account has the Firebase Admin SDK role in Google Cloud IAM, or at minimum the Firebase Cloud Messaging API scope.
  • The project_id in the JSON matches an active Firebase project.
  • The service account has not been disabled in the Google Cloud Console.

Try regenerating a new key from Firebase Console → Project Settings → Service accounts.

Do I need to add PushPilot to my Firebase project as a collaborator?

No. PushPilot uses the service account key you upload to authenticate directly with Firebase. No collaborator access is required.

Can I connect multiple Firebase projects to the same PushPilot workspace?

Yes. Go to Integrations → Firebase Projects → Add Firebase Project for each project. You can then select which project to use per campaign.

Can I use both Firebase and OneSignal in the same workspace?

Yes. PushPilot supports multiple push projects of any type in the same workspace. Each campaign is linked to a specific project.

My OneSignal discover flow shows no apps. What is wrong?

Make sure you are using the Organisation API Key, not a per-app REST API Key. The Organisation Key is found in OneSignal → account name → Organisation Settings → Keys & IDs.

If you only have one app and no organisation account, use Method B: Direct Connect instead.

Mobile SDK

I subscribed to the "all" topic but test notifications are not appearing on my device.

Run through this checklist:

  • On iOS — confirm the user granted notification permission (requestPermission returned authorized).
  • Confirm subscribeToTopic('all') was called after Firebase is initialised and permission was granted.
  • Check the Firebase Console → Cloud Messaging → Send test message to verify that FCM itself can reach the device.
  • The topic subscription takes up to a minute to propagate on FCM servers after the first call.

Does PushPilot send to individual device tokens or to topics?

PushPilot exclusively uses FCM topics for Firebase and OneSignal segments for OneSignal. There is no individual token or device management in PushPilot — all targeting is audience-based.

What happens if a user unsubscribes from the "all" topic?

That device will stop receiving notifications sent to the all topic. If you want to let users opt out of specific notification types, subscribe them to more specific topics (e.g. marketing, updates) and let them unsubscribe from individual topics while staying subscribed to others.

Campaigns & Notifications

What is the difference between a campaign and a notification?

A campaign is the overarching goal and schedule (e.g. "weekly re-engagement drip"). A notification is a single push message generated within that campaign. One campaign can contain many notifications sent over days or weeks.

How does the AI generate notification content?

PushPilot uses your Business Context (description of your app and goals) and the campaign objective to generate notification titles, bodies, and optionally images. The AI is powered by Vertex AI. You can edit any generated content before approving.

Can I approve notifications in bulk?

Yes. From the campaign notifications list, select multiple notifications using the checkboxes and use the Approve Selected bulk action.

Why is my campaign stuck in Draft?

A campaign must meet these requirements before activation:

  • At least one topic or segment is assigned.
  • At least one notification is in Approved status.
  • You are within your plan's active campaigns limit.
  • The linked push project has valid credentials.

What does "Apply Image" do on a campaign?

The Apply Image action sets the same image URL on all Pending and Scheduled notifications in a campaign at once. This is useful when you want a consistent visual across a campaign's notifications without editing each one individually.

Billing & Plans

Does the free trial require a credit card?

No. The 15-day Pro trial starts automatically when you create your first workspace. No payment information is required until you decide to upgrade.

What happens when I reach my notification limit?

Further notifications will be blocked for the current billing period. You will see a warning banner in the dashboard. Upgrade your plan or wait for the period to reset (limits reset at the start of each billing month).

Can I switch between monthly and annual billing?

Yes. Go to Settings → Billing → Change Plan. Annual plans typically offer about 20% savings vs monthly.

Will my data be deleted if I cancel my subscription?

No. All campaigns, notifications, and analytics are retained on the Free plan. Only features and limits change when you downgrade. You can reactivate a paid plan at any time to regain access to Pro/Heavy features.

Account & Team

How do I invite team members?

Go to Settings → Team Members → Invite. Enter the email address of the person you want to invite. They will receive an invitation email and can join your workspace after accepting.

Can I have multiple workspaces?

Yes. Click the workspace switcher in the dashboard sidebar and select Create Workspace. Note that the 15-day Pro trial applies once per Google account across all workspaces.

How do I update my Business Context?

Go to Settings → Business Context or use the AI chat on the Business Context page. You can also auto-generate context by pasting your Google Play Store URL or website URL and clicking Generate.

Still need help?

If your question isn't answered here, reach out — we're happy to help.