Skip to main content

How to import goals in bulk via Google Sheets?

Import and update goals in bulk from a connected Google Sheet, instead of creating them one by one.

If you manage a large number of goals, you can import and update them all at once from a Google Sheet instead of creating and modifying them one by one.

Only Editors and Admins can set up or delete a bulk goals sheet.

How it works

The Google Sheet you connect becomes the source of truth for your bulk goals. Every creation, update, or deletion of a bulk goal is done by editing the Google Sheet, not from the Spyne interface. Goals imported this way can't be edited manually in the app.

Each row of your sheet corresponds to one goal:

  • Add a row → a new goal is created.

  • Remove a row → the goal is deleted.

  • Edit the goal value in a row → the existing goal is updated.

  • Edit other columns → create new goal and delete the previous one.

Once you update the sheet, it syncs automatically the next day. 

Only the goal value can be edited freely. A goal's identity is based on the combination of its metric, its filters (goal scope), and its start/end dates. If you edit any of these columns for an existing row, Spyne treats it as a new goal rather than an update to the old one (the previous goal is deleted and a new one is created in its place, losing its history). If you only need to change the target, edit the goal value column, nothing else.

The metric name must match Spyne's metric name exactly. Enter the metric the same way it appears in your Metrics list in Spyne (e.g. Spend, Impressions, Clicks, CTR). There's no translation: if it doesn't match one of Spyne's metric names, the row will fail to import.

One column per filter. Each dimension you want to filter on gets its own column (for example, one for Campaign Name and one for Ad Name); combine as many as you need. But this set of filters applies identically to every row. If you need a different set of filters, use a new sheet or tab. And if you do add a new filter column, it needs to be filled in for every row.


Setting up a bulk import

1. Creating your Google Sheet for import

Keep row 1 as your header row, this is what you'll map to each field in step 2 below, then add one row per goal below it. Your column headers can be named however you like; what matters is which field you map each one to in Spyne.

A sheet looks like this:

Reading it column by column:

  • (optional) campaign_name and ad_name : your filter columns. Here they're what scope each goal to a campaign and an ad; the available dimensions are the ones in Spyne's Goal scope selector (e.g. Campaign Name, Ad Name, Adgroup name…). To filter on several values at once, separate them with a semicolon in the same cell (e.g. Campaign B;Campaign C). Never leave a filter cell empty (see the warnings below).

  • start_date and end_date : always both required -> bulk goals are always a custom period, even if it covers a full month or year (e.g. dd/mm/yyyy).

  • goal_name : free text, the name of the goal, for your own reference only, no impact on how it works.

  • metric : must match a metric name from your spyne Metrics list exactly.

  • goal_value : the numeric target, formatted with the decimal/thousand separators set for your sheet.

One sheet (or tab) = one filtering granularity. All the rows in a given sheet/tab are filtered on the same dimensions (for example, all rows filtered by Campaign Name and Ad Name). If you need goals at a different level of detail, use a separate sheet or tab.

2. Setting up a bulk import in Spyne

  • Go to the Goals page (from your toolbox), then click the Bulk Goals tab.

  • Click Add Bulk Goal.

  • Share your Google Sheet with [email protected] so Spyne can access it.

  • Set up the Config name (e.g. "Q1 Goals import") to identify your bulk import.

  • Enter your Google Sheet link and select your tab.

  • Map the columns of your sheet to the goal fields:

    • Goal Name : your goal name column.

    • Metric : your metric column.

    • Goal Scope (optional) : select the Spyne dimension corresponding to your Google Sheet scope (filter).

  • Date format : enter the format used in your Google Sheet (e.g. dd/mm/yyyy or YYYY-MM-DD). Every date in your sheet has to follow this format, or the import will fail.

  • Thousand and decimal separator : enter the separators used in your sheet. Your numbers have to follow this same format, or the import will fail.

  • Start date column and End date column : bulk goals always use a custom period, read row by row, so you'll map both.

  • Value : the column with your goal value for each row.

  • "Determine when the goal is on track or at risk (%)" : a single percentage threshold, applied to the whole file.

Save your configuration. Your goals will be created from the current rows in your sheet, then kept in sync automatically once a day. You can find them in "Goals" tab.


Managing your connected sheets

You can connect and manage several Google Sheets at once, each with its own mapping. From the "…" menu next to a sheet, you can:

  • Delete : remove the link to the sheet.

  • Edit Bulk import : edit your mapping for the configured sheet.

Only Editors and Admins can set up or delete a bulk goals sheet.


If your import fails

If a row has a formatting issue, or if Spyne loses access to your sheet, your goals import will fail.

Check:

  • The metric name : it must match exactly one of the metrics in your Spyne Metrics list.

  • Number formatting : your decimal and thousand separators must match the format configured for your sheet.

  • The date format and columns : both Start date and End date must be filled in, using the format set for your sheet.

  • Required filter columns : make sure none of the columns used in your goal scope are empty.

  • Spyne's access to your sheet : make sure [email protected] still has access to your sheet.

  • Timing : changes sync once a day.

  • Still stuck? Reach out to [email protected].


Related Articles

Did this answer your question?