Especially in a fast-moving space like crypto, it can be overwhelming to stay on top of your investments 24/7. In this article, we’ll show you how to set up your own real-time portfolio tracker using Google Sheets, so you can manage and track your crypto investments with ease. Using this free Crypto Portfolio Tracker Google Sheets template, powered by the CoinGecko API, you can automatically pull live market data into your spreadsheet without any coding, making it simple to record your holdings, analyze price movements, and tailor the tracker to your trading preferences. Investors who trade stocks and other assets can also integrate this alongside their existing portfolio trackers.
What This Free Template Offers
-
Live crypto data integration using the CoinGecko Google Sheets add-on.
-
Portfolio tracking, including holdings, total invested, realized and unrealized PnL, and ROI.
-
Dynamic dashboards to visualize portfolio value, asset allocation, and performance over time.
-
Top 1,000 coin coverage, using the =COINGECKO("top:1000") formula to instantly fetch bulk real-time market data directly into Google Sheets.
-
No scripting required, powered entirely by simple =COINGECKO() formulas.
To get started and follow along with the setup steps, you can make a copy of the free Google Sheets template using the download link at the end of this article.
![]()
Prerequisites
Before you start, ensure the following requirements are met to use the template effectively:
-
A Google Account:
You’ll need a Google account to open, copy, and use the template in Google Sheets. This allows you to save your own version. -
CoinGecko Google Sheets Add-on:
This template uses the official CoinGecko Google Sheets add-on to fetch live and historical crypto prices directly into your spreadsheet using the=COINGECKO()function. -
A CoinGecko API Key:
Required to fetch live crypto prices. The free Demo API key is sufficient to get started, while a Pro plan offers higher rate limits for more frequent data refreshes. You can follow our guide to get your free Demo API key.
How to Use the Crypto Portfolio Tracker Google Sheets Template
This section provides a step-by-step guide on how to set up and use the Crypto Portfolio Tracker template effectively. Follow these instructions to connect the CoinGecko add-on, customize your portfolio, and start tracking your holdings and performance in real time.
Setting up the CoinGecko Add-on
First, connect the template to the CoinGecko Google Sheets add-on to enable it within the spreadsheet. To get started, install the add-on and configure your API credentials (Subscription Level and API Key) by following the setup guide.
Once configured, all =COINGECKO() formulas across the template will automatically fetch the required data. You don’t need to modify any formulas or configure scripts manually.
Refreshing Crypto Price Data
Now that the CoinGecko add-on is configured, your data will be fetched automatically through the =COINGECKO() formulas across the template, allowing you to retrieve crypto data directly (e.g., =COINGECKO("id:bitcoin") for individual tokens) without any manual setup. `
However, Google Sheets may cache results for a short period of time. If you need the most up-to-date prices, you can manually refresh all data in your sheet. Keep in mind that more frequent refreshes will consume your API call credits faster. If you run into rate limits, consider upgrading to a paid API plan for higher call credits and rate limits.
Once the add-on status is Live, you can start customising the template.
Logging Your Portfolio Holdings & Transactions
Once your data is connected, you can start tracking your portfolio by recording your transactions in the Buy/Sell sheet. Enter your buy and sell activity by filling in the following details:
-
Coin Name
-
Quantity (Purchased / Sold)
-
Price at Transaction (USD)
-
Notes
Each buy increases your total holdings and establishes your cost basis, while each sell reduces your holdings and automatically calculates your realized profit or loss. All values update dynamically based on live price data fetched via the =COINGECKO() formulas.

=COINGECKO("top:1000").= For additional assets, you can fetch prices directly in the Crypto Portfolio sheet using =COINGECKO("id:coin_id") or =COINGECKO("network:token_address").Analyzing Your Portfolio in the Crypto Portfolio Sheet
Once your transactions are recorded in the Buy/Sell sheet, head to the Crypto Portfolio sheet to view your portfolio performance. This sheet acts as your main dashboard, automatically updating all values based on your transaction history and live market data.
Portfolio Overview
Provides a snapshot of your overall portfolio health. The bar chart visualizes the current holding value of each asset, showing how your capital is distributed across different coins. This helps you quickly identify your largest positions and understand your portfolio allocation at a glance.
Summary Statistics of Holdings
Displays key overall metrics that provide a quick overview of how your portfolio is performing without needing to analyze individual assets. 
Individual Holdings Breakdown
The main table provides a detailed breakdown of each asset in your portfolio, combining live market data with your transaction history.
-
Individual Coin Data
Displays key market information for each asset, such as price, market cap, and trading activity, giving you context on how each coin is performing in the broader market.
-
Individual Holdings Data
Focuses on your personal portfolio metrics, including holdings, total invested, and profit or loss, allowing you to evaluate your performance for each asset at a glance.
Watchlist Table
Lets you monitor additional assets without adding them to your portfolio. Select coins from the dropdown in Column B (starting from row 26) to track their live prices and market data, helping you keep an eye on potential investments alongside your current holdings.
These dashboards provide both a high-level portfolio overview and in-depth performance insights for each asset, making it easy to track progress and refine your trading approach.
Creating a Crypto Portfolio Tracker in Google Sheets
Creating a crypto portfolio tracker in Google Sheets involves three main components:
a live data source for fetching crypto prices, a structured log for recording transactions, and a dashboard for analyzing portfolio performance.
This template integrates all three seamlessly into one connected system powered by the CoinGecko Google Sheets add-on, allowing you to fetch live market data directly using simple =COINGECKO() formulas:
-
Live Crypto Market Data
Live prices and market data are fetched directly using the CoinGecko Google Sheets add-on. By using the=COINGECKO()function (e.g.,=COINGECKO("top:1000")),the template retrieves real-time data for a wide range of crypto assets without requiring any custom scripts or manual setup. -
Google Sheets Formulas and Tables
Use built-in Sheets formulas to calculate all key portfolio metrics such as current holding value, total invested, realized and unrealized PnL, and overall portfolio value. All calculations update dynamically whenever new transactions are logged or when market data refreshes. . -
Structured Transaction Logging
A dedicated Buy/Sell sheet lets you record every transaction with clear fields for coin name, quantity, price, and notes. This structured log forms the foundation for all calculations and portfolio tracking. -
Interactive Dashboards
Use charts and summary tables in the Crypto Portfolio sheet to visualize your holdings, asset allocation, and overall portfolio performance for quick insights.
How to Get Live Crypto Data in Google Sheets
You can get real-time crypto data in Google Sheets using two different approaches, depending on your preferred level of control and customization.
Option 1 (Recommended): Using the CoinGecko Add-on
The simplest way is to use the official CoinGecko Google Sheets add-on with the =COINGECKO() function. This method is fully integrated into the template and allows you to fetch live crypto prices directly, without any coding or manual setup.
Option 2 (Advanced): Using Apps Script
For users who require more flexibility, you can fetch data directly from the CoinGecko API using Google Apps Script. This approach gives you fine-grained control over the request parameters, such as specifying dates, currencies, and endpoints, as well as how the returned data is structured and used within your sheet. This involves creating custom functions (such as ImportJSON) to call specific API endpoints and retrieve market data into your sheet.
Step 1: Create an ImportJSON Script
First, create the main function that will fetch and parse the data.
Open your Google Sheet and navigate to ‘Extensions’ and select ‘Apps Script’ - a new tab will appear.
On the left panel, select ‘< > Editor’ and add a new script using the ‘+’ button. Copy and paste the following importJSON script, and save the script as ‘ImportJSON’. This importJSON script is a versatile one that will allow you to import data in many different ways.
Step 2: Create the autoRefresh Script
Next, create a helper script that will allow the data to refresh automatically.
Create a second Apps Script by clicking on the ‘+’ button. Copy the code below and paste it into the script editor, saving it as ‘autoRefresh’ – this will allow your sheet to automatically refresh at fixed intervals.
Step 3: Call the Function in Your Sheet
With the scripts saved, you can now use the =IMPORTJSON() function in any cell:
-
Construct your CoinGecko API request URL.
-
Enter the formula into your desired cell, replacing the placeholder URL with your own.
For example, to get market data for the top 100 coins, your formula would look like this:
=ImportJSON("https://api.coingecko.com/api/v3/coins/marketsvs_currency=usd&order=market_cap_desc&per_page=250&page=1&sparkline=false&price_change_percentage=24h&x_cg_demo_api_key=" & 'Read Me'!$B$20, "/id,/name,/current_price,/market_cap,/market_cap_rank,/price_change_percentage_24h,/market_cap_change_24h,/market_cap_change_percentage_24h,/price_change_percentage_24h_in_currency", "noTruncate," & 'Read Me'!$A$25)This method is modular and powerful, as the =IMPORTJSON() formula can be easily replicated across any cell with different API endpoints. For a more detailed step-by-step guide, read our article on importing crypto prices into Google Sheets.
💡 Pro Tip: If you want full control over the API requests and response via a no-code alternative, you can learn how use a visual interface to pull crypto data into Google Sheets via the API Connector extension.
The crypto trading journal Google Sheets template is powered by a combination of real-time data from the /coins/markets endpoint (Fetches the latest prices and market caps of the top 250 coins).
Creating a Crypto Transaction Log Sheet in Google Sheets
To calculate your portfolio performance, you first need a record of your transactions. The Buy/Sell sheet allows you to log all buy and sell activity in one place, which forms the foundation for all portfolio calculations.
Each log entry includes:
-
Coin Name
-
Quantity (Purchased / Sold)
-
Price at Transaction (USD)
-
Notes
This transaction log is used to track your holdings, cost basis, and realized profits or losses over time.
Creating a Portfolio Dashboard in Google Sheets
Once your transactions are recorded, the next step is to analyze your portfolio using a dashboard. The Crypto Portfolio sheet uses formulas to calculate key metrics and presents them in a structured table and visual charts for a clear overview of your portfolio.
To power the portfolio tracker, the template uses a combination of built-in Google Sheets functions:
Essentials Google Sheets Functions
-
SUMIFS: Calculates totals based on specific conditions, such as the total position value for a specific coin or your total realized profit and loss. -
AVERAGEIFS: Calculates the average buy price for each asset -
INDEX + MATCH: Used to dynamically retrieve live price data for each coin using the CoinGecko dataset. -
FILTER + IF: Used to conditionally displays relevant data based on conditions (e.g., active holdings).
Calculation Logic
With the functions above, you can compute the primary metrics needed to assess your performance:
-
Realised PnL: The difference between the cost of sold quantities and total sale proceeds, based on matching coin names in the Buy/Sell sheet.
-
Unrealised PnL: The difference between your current holding value and total invested amount for assets still held.
-
Portfolio Value: The current value is a sum of your cash balance (from realized profits) and the market value of all your open positions.
-
ROI (%): Measures your overall return by comparing your total profit (realised and unrealised) against your total invested amount.
These metrics can then be used to power dashboard charts and tables, giving you an immediate visual summary of your trading performance and portfolio health.
Further Enhancements
You can further enhance this Crypto Portfolio Tracker Google Sheets template to better suit your analysis style. Here are a few ideas that leverage other CoinGecko API endpoints:
-
Fetch Historical Price Data
Pull Historical Prices for specific coins for more in-depth performance analysis. You can follow our guide on how to pull crypto historical data in Google Sheets and visualize long-term trends. -
Add OHLC (Open, High, Low, Close) Data
If you want more granular price insights, consider fetching OHLC data for each coin. Check out our step-by-step guide on how to pull crypto OHLC data into Google Sheets. -
Build a Crypto Tax Calculator
Since staking rewards can be taxable events, keeping a clean record with this template is a great first step. You can also use the data from your staking log to calculate capital gains using a dedicated crypto tax calculator. For a complete guide, see our article on how to create a crypto tax calculator in Google Sheets.
Common Issues & Fixes
If you encounter errors while using the portfolio tracker and are unsure what’s causing the issue, navigate to ‘Extensions’ > ‘CoinGecko’ > ‘View Error Logs’ to access the debug logs and view the returned error code and message.
Once you’ve identified the issue, here are a few common problems along with quick ways to fix them.
-
API Rate Limit (Error 429)
This happens when the free CoinGecko Demo API hits its request limit. Wait a few minutes before refreshing again, or switch to a Pro API key for uninterrupted updates. If you receive other error codes, refer to the full list of CoinGecko API status codes to troubleshoot them. -
API Key or Endpoint Issues
If your data isn’t loading or you’re seeing errors such as 401 or 403, try reconnecting your CoinGecko API key within the add-on settings and ensure your subscription level is correctly configured. -
Data Not Updating or Showing Older Prices
Google Sheets may cache formula results temporarily. To refresh your data, open the CoinGecko sidebar and click “Refresh All Data” to force-update all=COINGECKO()formulas.
For more detailed troubleshooting steps and a list of common errors, refer to the Error Debugging Guide.
Conclusion
A crypto portfolio tracker is one of the most effective tools for monitoring your investments and making informed decisions. This free Crypto Portfolio Tracker Google Sheets template, powered by the CoinGecko Google Sheets add-on and CoinGecko API, provides a simple yet powerful way to track your holdings, calculate portfolio value, and analyze your performance in real time. Because it is built in Google Sheets, your portfolio remains accessible across all your devices, allowing you to stay on top of your investments anytime, anywhere.
The integrated dashboard gives you a clear overview of your portfolio allocation and performance, while the transaction-based tracking ensures your holdings, PnL, and ROI are always up to date based on your latest activity.
If you require more frequent data updates or higher API rate limits for advanced analysis, consider subscribing to a paid API plan to unlock the full potential of your trading journal.
Download Your Free Template ⬇️
Credits & Acknowledgements
-
importJSON script by Brad Jasper and Trevor (Github)
-
triggerAutoRefresh script by Andrea Borruso (Github)
If you found this helpful, you might like to check out an alternative guide that walks through how to use an API connector when creating your portfolio on Google Sheets, or explore our library of crypto spreadsheet templates.

Ethereum Mainnet
Base Mainnet
BNB Smart Chain
Arbitrum
Avalanche
Fantom
Flare
Gnosis
Linea
Optimism
Polygon
Polygon zkEVM
Scroll
Stellar
Story
Syscoin
Telos
X Layer
Xai