Stock Portfolio Tracker in Google Sheets: Track Gains, Dividends & Allocation (2026)
Your brokerage app shows your current balance. It does not show you your actual return rate by position, your dividend income trend over 3 years, or whether your asset allocation still matches your target. A Google Sheets portfolio tracker does all of that โ for free, with live prices, on your terms.
In This Guide
- Why Serious Investors Use Spreadsheets
- What Your Portfolio Tracker Should Measure
- The 4-Tab Portfolio Tracker Structure
- Tab 1: Holdings โ Your Current Positions
- Tab 2: Transaction History โ Every Buy, Sell & Dividend
- Tab 3: Performance Dashboard
- Tab 4: Dividend Tracker
- GOOGLEFINANCE: Live Prices in Google Sheets
- Tracking Cost Basis & Unrealized Gains
- Asset Allocation & Rebalancing
- Capital Gains: What to Track for Taxes
- 7 Portfolio Tracker Mistakes to Avoid
Why Serious Investors Use Spreadsheets (Even With Brokerage Apps)
Brokerage apps have improved dramatically. Fidelity, Schwab, and Vanguard all show unrealized gains, asset allocation, and performance. So why build a separate tracker?
Three reasons: consolidation, customization, and history.
Consolidation: Most investors have accounts at 2-3 brokerages โ a Fidelity 401(k) through work, a Roth IRA at Vanguard, and a taxable account at Robinhood. Each brokerage shows only its own accounts. A Google Sheets tracker merges everything into one view of your actual net investment position.
Customization: Your brokerage can't show you the metrics you care about. Want to track dividend growth year-over-year? Compare your small-cap allocation against your target by quarter? Calculate your true IRR after accounting for dollar-cost averaging at different price levels? A spreadsheet can. Apps can't.
History: Brokerages delete or hide old transaction history. Some only go back 5-10 years. Your spreadsheet keeps everything, forever, and you control the export.
What Your Portfolio Tracker Should Measure
Before building anything, be clear on which metrics actually matter. Most investors track too little (just current value) or too much (17 ratios they never look at). The right set is:
| Metric | Why It Matters | Updated |
|---|---|---|
| Current Value | Shares ร current price โ your portfolio worth right now | Live (GOOGLEFINANCE) |
| Cost Basis | What you actually paid; drives gain/loss calculations | Manual (per transaction) |
| Unrealized Gain/Loss | Current Value โ Cost Basis; paper profit/loss | Live (formula) |
| Total Return % | (Current Value โ Cost Basis) / Cost Basis | Live (formula) |
| Dividend Income | Passive income generated; useful for FIRE tracking | Manual (logged on receipt) |
| Asset Allocation | % in each category vs. target; drives rebalancing | Live (formula) |
| Realized Gains | Profits from sold positions; needed for tax reporting | Manual (on sale) |
The 4-Tab Portfolio Tracker Structure
| Tab | Purpose | How Often Updated |
|---|---|---|
| Holdings | All current positions with live prices and gain/loss | Auto (GOOGLEFINANCE) + manual on trades |
| Transactions | Every buy, sell, and dividend received | Manually on each trade/dividend |
| Performance | Portfolio-level returns, allocation, monthly history | Snapshot monthly + auto formulas |
| Dividends | Dividend log by stock and date, with annual totals | Manually when dividends land |
Tab 1: Holdings โ Your Current Positions
This is the main view. One row per position (ticker). Columns pull live data via GOOGLEFINANCE and calculate gain/loss automatically.
Holdings Tab Columns
| Column | Data Type | Manual or Formula |
|---|---|---|
| Ticker | Stock symbol (e.g., AAPL) | Manual |
| Name | Company name (or GOOGLEFINANCE) | Manual or Formula |
| Account | Fidelity 401k / Roth IRA / Taxable | Manual |
| Asset Class | US Stock / Intl Stock / Bond / REIT / Cash | Manual |
| Shares | Number of shares held | Manual (update on trades) |
| Avg Cost Basis | Average purchase price per share | Formula (from Transactions tab) |
| Total Cost | Shares ร Avg Cost Basis | Formula |
| Current Price | Live price via GOOGLEFINANCE | Formula |
| Current Value | Shares ร Current Price | Formula |
| Unrealized Gain $ | Current Value โ Total Cost | Formula |
| Unrealized Gain % | Gain / Total Cost | Formula |
| % of Portfolio | Current Value / Total Portfolio Value | Formula |
| Target Allocation % | Your desired weight for this position | Manual |
| Allocation Drift | Actual % โ Target % | Formula |
Example Holdings View
| Ticker | Shares | Avg Cost | Current Price | Current Value | Gain % |
|---|---|---|---|---|---|
| VTI | 45 | $198.40 | $247.80 | $11,151 | +24.9% |
| VXUS | 30 | $54.20 | $57.40 | $1,722 | +5.9% |
| BND | 20 | $73.80 | $71.20 | $1,424 | โ3.5% |
| SCHD | 25 | $82.10 | $97.50 | $2,438 | +18.8% |
| AAPL | 15 | $165.00 | $198.40 | $2,976 | +20.2% |
Tab 2: Transaction History โ Every Buy, Sell & Dividend
This is the audit trail. Log every transaction here: purchases, sales, dividend reinvestments, and cash dividends. This tab powers your cost basis calculations and is essential for accurate tax reporting.
Transaction Log Columns
- Date โ trade date (not settlement date)
- Ticker โ stock symbol
- Account โ which account (use dropdown)
- Transaction Type โ Buy / Sell / Dividend / DRIP (dividend reinvestment)
- Shares โ number of shares bought/sold (or blank for cash dividends)
- Price Per Share โ execution price
- Total Amount โ Shares ร Price (or dividend amount for cash dividends)
- Commission/Fee โ broker commission (usually $0 now, but track it)
- Net Amount โ Total ยฑ Commission
- Notes โ optional context
๐ก Cost Basis Method: FIFO (first in, first out) is the IRS default for most investors, but you can elect specific lot identification. Decide your method before you start selling and be consistent. Your transaction log is the source of truth for this calculation.
Tab 3: Performance Dashboard
The performance dashboard gives you the portfolio-level view: total value, total gain/loss, savings rate into investments, and a monthly snapshot history for charting.
Key Performance Metrics to Display
- Total Portfolio Value โ sum of all current position values
- Total Cost Basis โ sum of all invested capital
- Total Unrealized Gain/Loss $ and %
- Total Realized Gains This Year โ from sold positions (tax planning)
- Total Dividends Received This Year
- Portfolio vs. Benchmark โ your return % vs. S&P 500 YTD
- Asset Allocation: Actual vs. Target โ chart format
- Monthly Portfolio Value History โ line chart over time
Asset Allocation: Example Dashboard
In this example, international stocks and bonds are underweight (red). The next contribution should flow there to rebalance โ or you sell a sliver of US stocks to buy VXUS. The tracker makes this decision obvious rather than leaving it to memory.
Tab 4: Dividend Tracker
If you hold dividend stocks or ETFs, this tab is especially valuable. It tracks dividend income by stock and by quarter, calculates your forward annual dividend income, and shows dividend growth year-over-year.
Dividend Log Columns
- Date Received
- Ticker
- Dividend Per Share
- Shares Held at Ex-Date
- Total Dividend Received (Shares ร Dividend/Share)
- Reinvested? (Yes/No โ was it a DRIP?)
- Shares Added (if DRIP)
- Account
Annual Dividend Summary
| Ticker | 2024 Total | 2025 Total | 2026 YTD | YoY Growth |
|---|---|---|---|---|
| SCHD | $312 | $348 | $94 | +11.5% |
| VTI | $186 | $204 | $52 | +9.7% |
| BND | $74 | $68 | $16 | โ8.1% |
| AAPL | $38 | $42 | $11 | +10.5% |
| Total | $610 | $662 | $173 | +8.5% |
At $662 in dividends last year and growing 8.5% annually, you're projected to receive ~$718 in 2026. That's not life-changing alone โ but tracked consistently, it shows whether your dividend income is on the trajectory you need.
GOOGLEFINANCE: Live Prices in Google Sheets
The GOOGLEFINANCE function is the core of a portfolio tracker in Google Sheets. It pulls live (or slightly delayed) market data directly into your cells โ no API key, no subscription, no manual updates.
Basic Syntax
=GOOGLEFINANCE(ticker, attribute, [start_date], [end_date], [interval])
Most Useful Attributes
=GOOGLEFINANCE("AAPL", "price")
=GOOGLEFINANCE("AAPL", "change")
=GOOGLEFINANCE("AAPL", "changepct")
=GOOGLEFINANCE("AAPL", "high52")
=GOOGLEFINANCE("AAPL", "marketcap")
=GOOGLEFINANCE("AAPL", "pe")
=GOOGLEFINANCE("SPY", "close", DATE(2026,1,1), TODAY(), "WEEKLY")
โ ๏ธ Note: GOOGLEFINANCE data is delayed 15-20 minutes and may have occasional outages or incorrect data. It is reliable enough for long-term tracking but not suitable for active day trading decisions. Always verify against your broker for critical calculations.
Tracking Cost Basis and Unrealized Gains
Cost basis is the amount you paid for shares including commissions. It determines your taxable gain when you sell. For most buy-and-hold investors, average cost basis (ACB) per share is the simplest approach.
Average Cost Basis Per Share (from Transactions Tab)
=SUMPRODUCT((Transactions!B:B=A2)*(Transactions!D:D="Buy")*Transactions!F:F*Transactions!G:G) / SUMPRODUCT((Transactions!B:B=A2)*(Transactions!D:D="Buy")*Transactions!F:F)
Unrealized Gain/Loss
=E2 - F2
=IFERROR((E2 - F2) / F2, 0)
Dollar-Cost Averaging: Tracking Multiple Purchases
If you buy the same stock at different prices over time (which you should โ DCA is a proven strategy), your average cost basis changes with each purchase. The SUMPRODUCT formula above handles this automatically by calculating the weighted average across all buys logged in the Transactions tab.
Example: You bought VTI three times: 10 shares at $190, 15 shares at $205, and 20 shares at $195. Your average cost basis = (10ร190 + 15ร205 + 20ร195) / 45 = $196.78. The formula handles this regardless of how many lots you have.
Asset Allocation & Rebalancing in Google Sheets
Asset allocation is more important than stock picking for long-term returns. Tracking it in Google Sheets lets you see drift in real time and make rebalancing decisions with actual data.
Calculating Actual Allocation % Per Asset Class
=SUMIF(Holdings!D:D, "US Stock", Holdings!I:I)
=SUMIF(Holdings!D:D, "US Stock", Holdings!I:I) / SUM(Holdings!I:I)
Rebalancing Decision Logic
When actual allocation drifts more than 5% from target, it's time to rebalance. There are two ways:
- Buy to rebalance: Direct new contributions toward underweight asset classes. No taxes, just buying more of what's cheap.
- Sell to rebalance: Sell overweight positions to buy underweight ones. Triggers a taxable event in non-retirement accounts โ calculate the tax cost first.
=(Target % - Actual %) ร Total Portfolio Value
Capital Gains: What to Track for Taxes
When you sell shares, you owe taxes on the gain. The rate depends on how long you held the shares:
| Holding Period | Gain Type | 2026 Tax Rate |
|---|---|---|
| Less than 1 year | Short-term capital gain | Ordinary income rate (up to 37%) |
| More than 1 year | Long-term capital gain | 0%, 15%, or 20% (depends on income) |
| In IRA / 401(k) | N/A (tax-deferred or exempt) | $0 until withdrawal |
What to Log on Every Sale
- Date of purchase (for each lot sold)
- Date of sale
- Cost basis of shares sold
- Sale proceeds (net of commission)
- Realized gain/loss
- Short-term or long-term (based on holding period)
๐ก Tax-Loss Harvesting: If you have a position with an unrealized loss, you can sell it to realize the loss and offset taxable gains elsewhere. Add a "Tax-Loss Harvesting Candidates" section to your Performance tab: filter for positions where Unrealized Gain % < โ10% and held in taxable accounts. This is a legitimate tax optimization strategy โ not financial advice, but worth knowing.
Take Your Finances Further
The Freelancer Financial Dashboard on Etsy tracks income, expenses, tax reserves, and savings goals โ all in one Google Sheets template. If your portfolio income comes from freelance work, this is the companion tool to track where the money comes from.
View on Etsy โ $12.99 โ7 Portfolio Tracker Mistakes to Avoid
1. Tracking Current Price Without Cost Basis
Knowing your portfolio is worth $85,000 is useless without knowing you invested $70,000. Always track cost basis. The gain, not the total value, tells you how you're doing.
2. Forgetting Dividend Reinvestment in Cost Basis
If you reinvest dividends (DRIP), those reinvested shares have their own cost basis equal to the price on the reinvestment date. Log every DRIP in your transaction history. Missing these makes your cost basis artificially low and overstates your taxable gain when you sell.
3. Only Tracking Your Best Performers
It's tempting to only log the stocks you're proud of. Track everything โ including the losers. You need the full picture, and losers might be tax-loss harvesting candidates.
4. Not Separating Accounts
Your taxable account and your Roth IRA are fundamentally different. Capital gains in the Roth are tax-free forever. Realizing a gain in your taxable account is a taxable event. Track them separately to avoid confusion during tax season.
5. Using Live GOOGLEFINANCE for Historical Records
When you record a monthly snapshot of portfolio value, copy and paste as values only. If you leave the GOOGLEFINANCE formula in your historical column, it will update to today's price and destroy your historical record. Values only. Every time.
6. Tracking Too Many Metrics
P/E ratios, beta coefficients, Sharpe ratios, sector exposure โ these are interesting but only useful if you act on them. Start with the basics (current value, cost basis, gain %, allocation) and add complexity only when you find yourself needing it.
7. Checking Too Frequently
A portfolio tracker is for monthly reviews, not daily anxiety. Set up the system, do a monthly check-in, and let compounding do its work. The tracker exists to give you information when you need to make a decision โ not to give you heart palpitations when the market drops 2% on a Tuesday.
Building the System: What to Do This Weekend
Portfolio Tracker Quick-Start (4 Hours)
- Create a new Google Sheet titled "Portfolio Tracker 2026"
- Add 4 tabs: Holdings, Transactions, Performance, Dividends
- List every position in Holdings with ticker, account, asset class, and shares
- Add GOOGLEFINANCE("ticker", "price") formula in Current Price column
- Enter all 2026 purchase transactions in the Transactions tab
- Add SUMPRODUCT cost basis formula to Holdings tab
- Calculate unrealized gain/loss for each position
- Set up asset allocation section with SUMIF formulas
- Log all dividends received in 2026 in Dividends tab
- Bookmark the sheet and set a monthly calendar reminder to update it
Your portfolio tracker won't be perfect on day one. That's fine. A rough tracker you actually use beats a perfect system you abandon after two weeks. Start simple โ Holdings tab with GOOGLEFINANCE prices and manual cost basis โ and add the other tabs one by one as you get comfortable.
The goal isn't to beat the market (though tracking your returns vs. a benchmark helps you know if you are). The goal is to know โ clearly, at any moment โ exactly where your money stands, whether your allocation still matches your goals, and what decisions you need to make next.
Ready-Built Google Sheets Templates for Your Financial Life
SheetStackStudio builds financial tracking templates for freelancers, landlords, and goal-setters. The Freelancer Financial Dashboard ($12.99) covers income, expenses, tax reserves, and savings goals โ instant download, no subscription.
Shop SheetStackStudio on Etsy โ