Use Google Sheets’ GoogleFinance function to display data in Geckoboard

Google Sheets has a built-in function called GOOGLEFINANCE which fetches current or historical securities information from Google Finance to a Google Sheet. This article details how this function can be used with our Spreadsheets integration to display market data on your Geckoboard dashboard.

This function doesn't update on its own by default so we've written a script that you can adapt to ensure your data is kept up to date. Our Google's stock price example show the basics of using this function and don't use this script. If you'd like your data to update automatically, you will need to create the script once the example is completed.

Syntax of the GoogleFinance Function 

Here's the syntax of the GOOGLEFINANCE function: 

=GOOGLEFINANCE(ticker, [attribute], [start_date], [num_days|end_date], [interval])

The ticker symbol for the security to consider.
(Optional - "price" by default ) - The attribute to fetch about ticker from Google Finance.
(Optional) - The start date when fetching historical data.
(Optional) - The end date when fetching historical data, or the number of days from start_date for which to return data.
(Optional)- The frequency of returned data; either "DAILY" or "WEEKLY".

GoogleFinance function in action

Example: How to display Google's stock price on a dashboard

In this example, we'll use the GOOGLEFINANCE function and a Google Sheet Number Widget to display Google's current stock price on a dashboard.

  1. To fetch Google's current stock price into Google Sheets, open a new Google Sheet and type the following formula into cell A2:

    =GOOGLEFINANCE("GOOG", "price")Google_Finance_sheet.png

    Essentially, what this formula is doing is querying Google Finance for GOOG current price (GOOG is the ticker symbol for Google Inc.). Something similar happens when you Google "Google stock price".

  2. Save your Google Sheet and give it a name.
  3. With Google's stock price information in a Google Sheet, switch to your Geckoboard dashboard.
  4. Click Add widget.
  5. Choose the Spreadsheets integration.
  6. Select the Google Sheets file that you just saved.
  7. Select the Number widget.
  8. Select the appropriate Sheet (Sheet1 in this example).
  9. Enter the value of GOOG price in the Number selection (in the above example, it's A2).
  10. Disable the Comparison Visualization and adjust the title.
  11. Click Add to dashboard to add your widget to your dashboard.Add_number_widget.png
  12. And that's it! Your Geckoboard dashboard is now displaying the information found in Cell A2 of the Google Sheet – Google's current stock price.Google_Finance_result.png

Updating Your Data Automatically

Unfortunately, the Google Sheets GOOGLEFINANCE function doesn't automatically update. This isn't particularly helpful so we've written a script that you can adapt to update the market data every minute, even when the Google Sheet is closed.

Please open a new Google Sheet to work through these next steps.

  1. Click on the Tools menu and select the option Script Editor.
  2. A Google Apps Script window will appear. Click the Blank Project option.Google_Apps_Script.png
  3. Replace the default function with the following script:

    Important note

    Make sure you follow the aforementioned instructions to the letter, otherwise, cells in the Sheet might not match the ones in the script and your countdown will not update automatically

    function getData() {
    SpreadsheetApp.getActiveSheet().getRange('A2').setValue('=GOOGLEFINANCE("GOOG", "price")');
  4. Save your function and give it a name.
  5. From inside the Script Editor, click on the Edit menu and select the option Current project's triggers.
  6. In the window that appears, click the link No triggers set up. Click here to add one now. This will create a trigger for your function
  7. Select the Hour timer and leave it as Every Hour.
  8. Click Save.Trigger_set_up.png
  9. You'll be prompted to authorize your app by clicking Continue and then Accept. More information on Google Apps authorization can be found here.Authorize_app_continue.pngAuthorize_app_accept.png
  10. You can now close the Script Editor.

You're done!

Now that you've written the script and set the trigger running, you'll be able to see the data on your Google Sheet refresh every hour. This will continue to refresh even when your Google Sheet is closed.

Your Geckoboard widgets don't require any changes to reflect the addition of this script and trigger; they will refresh every 15 minutes and pull new data from your Google Sheet whenever available.


We've found that, a few times a week, a server error will occur on Google's end and the script will fail to run. By default, you'll receive an email to notify you that this has happened. Considering the script runs every hour of the day which totals 24 times, a few times a week is nothing to be concerned about.Google_server_error.png


If you're interested in finance and economic data, you might find Quandl very useful. This website has a wide range of public (and private) data from a variety of sources available as hosted CSV files i.e. which can be used in combination with our CSV integration.

Quotas for Google Services

When setting up your triggers, it's important to consider the Quotas and Limitations imposed by Google.


if you have a paid G-suite account your total script (trigger) runtime can be up to 6 hours a day, however, if you have a free account, the total script (trigger) runtime will be only up to 90 minutes per day. For more information, please visit Google's official documentation.

Was this article helpful?

Awesome! 👍  Thanks so much for your feedback!