Google Sheets Performance & Troubleshooting

Google Sheets is a Smart Connector that allows you to bring data into NinjaCat from sources that don't offer direct API integrations. This guide covers the requirements, best practices, and common issues when working with Google Sheets as a data source.

📘

Getting Started

For step-by-step instructions on setting up your first Google Sheets connection, see Setup Google Sheets


Table of Contents

  1. Requirements & Best Practices
  2. Connect Google Sheets to an Account
  3. Maintaining & Monitoring Your Data
  4. When to Consider Alternatives

Requirements and Best Practices

Before connecting your Google Sheet to NinjaCat, ensure your sheet follows these requirements.

All NinjaCat Smart Connectors share these requirements for optimal compatibility with NinjaCat Data ingestion:

  • Column-based format with clearly defined headers
  • Account attribution - a column that uniquely identifies which NinjaCat account the data belongs to (Only required if data needs to be attributed to a specific Account in NinjaCat, if skipped all data will show for all Accounts)
  • Date attribution - a date column where each value corresponds to a single day
  • Consistency - column count, headers, order, and labels must remain exactly the same

Sheet Structure Requirements

Column headings must be in row 1

  • Header row defines your data structure
  • No data should appear above row 1

No blank or skipped rows

  • NinjaCat reads consecutive rows until the first empty row
  • Your NinjaCat report will include consecutive rows in a Google sheet up until the first row with no content in the first cell/column

Data formatting must be accurate

  • Date data should be formatted as Date in Google Sheets before being brought into NinjaCat
  • Numeric data should be formatted as Number
  • Text string data should be formatted as Text
  • Why: Data formatting designations should be accurate in the Google Sheet before being brought into NinjaCat

Important: Formatting (e.g. color, bold, text alignment) in your Google sheet will not carry through to your NinjaCat report.

Google Sheets Platform Limitations

Google imposes these restrictions on all spreadsheets:

LimitMaximum Value
File size20 MB
Total cells400,000 cells
Columns per sheet256 columns

Consistency Requirement

Critical: For a Google Sheets data source to work correctly, the data headers within it need to remain consistent. This means:

  • Column headers must stay the same
  • Column order must stay the same
  • Column labels must stay the same

Any modifications to headers, order, or labels will require editing the existing mapping.


Connect Google Sheets to an Account

For detailed step-by-step instructions, see: Setup Google Sheets


Maintaining & Monitoring Your Data

Refresh Schedule Options

You can control how as well as how frequently data refreshes using the Schedule Sync tab in your connection settings.

Available Refresh Options:

Once a day

  • Refreshes once per day at a specified hour
  • Allows you to select your preferred refresh hour

More than once a day

  • Available intervals:
    • Every 15 Minutes
    • Every 30 Minutes
    • Every Hour
    • Every 2 Hours

Backfill Options:

  • Previous Days to Pull: Lets you choose how far back to sync data each time and the end date for ingestion
  • Max Days per Request (Chunk Size): All data ingestion will be split into chunks of this size. This will apply to scheduled data ingestion as well as manual syncs.
💡

Best Practice: Set your refresh interval to match how frequently your Google Sheet is actually updated. If your sheet only updates daily, a less frequent refresh is recommended.

Understanding Data Status

In the Dataset Screen of your dataset, you can view:

Status (Refresh the page to see updated status)

  • Waiting for Data: No data has been loaded yet
  • Complete: Data is loaded and ready to use
  • Data Processing: A scheduled sync is in progress (last sync's data remains available)
  • Failed: Error loading data (last successful sync's data remains available if previously loaded)

Sync Time

  • Shows the last attempted Sync of your Google Sheets Data
  • Because Google Sheets data is completely replaced with each sync (not incremental), the earliest loaded date is set as early as possible

Details

  • Size: The approximate size of your Dataset
  • Estimated Rows: The approximate number of rows in your Dataset
  • Columns: The approximate number of columns in your Dataset

Reporting Sync

This status is only relevant to using NinjaCat's Data Cloud data with NinjaCat Reports or Dashboards

  • Status: "In Sync" means that your Data Cloud data is ready for use in NinjaCat Reports or Dashboards
  • Last Sync: The approximate time this data last synced

Resetting Data

The More Actions Menu when viewing a Dataset allows you to reset your data for the specific mapping and do a new backfill by clicking "Manually Sync Data..."

⚠️

Warning: Clicking "Manually Sync Data.." after the first load of data has been backfilled will delete all existing data and do a fresh clean backfill.


When to Consider Alternatives to Google Sheets

Google Sheets is excellent for bringing data into NinjaCat from sources without direct API connections. However, NinjaCat offers other options that may be better suited for certain situations.

SQL Transform

Consider if:

  • Your data is already in NinjaCat Data Cloud
  • You need to combine multiple datasets
  • You need complex calculations or joins

Learn More: Transform Data with SQL Transform Builder

Other Smart Connectors

All NinjaCat Smart Connectors share these requirements for optimal compatibility with NinjaCat Data ingestion:

  1. Column-based format with clearly defined headers
  2. Account attribution - a column that uniquely identifies which NinjaCat account the data belongs to (Only required if data needs to be attributed to a specific Account in NinjaCat, if skipped all data will show for all Accounts)
  3. Date attribution - a date column where each value corresponds to a single day
  4. Consistency - column count, headers, order, and labels must remain exactly the same

Email Smart Connector

Consider if:

  • Data source can automatically email reports
  • Files are .csv, .tsv, or .zip format (containing single .csv/.tsv)
  • Individual files are under 20MB
  • Total daily files across all connectors under 300MB
  • Prefer automated delivery over manual sheet updates

Special Feature: Can include link to file in email if the destination URL contains the word "report"

Learn More: Setup Email Custom Data

FTP, S3, or URL Smart Connectors

File Format Support:

  • .csv files
  • .tsv files
  • .zip files (must have no subdirectories and unzip directly to single .csv or .tsv)

URL Connector Note: Only supports direct links to .csv files

Learn More: Setup Amazon S3

SQL or BigQuery Connectors

Consider if:

  • Data is stored in a database
  • All data is accessible via basic query
  • Important: All joins or transformations must occur in your database before being pulled into NinjaCat

For Snowflake users: Follow all best practices as outlined in Snowflake documentation


Additional Resources