A Notion Habit Tracker is a great way to ensure that you stick to your good habits and continuously work towards your goals. But how to start? Building a Habit Tracker in Notion can seem intimidating, but it doesn’t have to be that way. In this step-by-step guide, you’ll learn how to set up everything you need for the best Notion Habit Tracker in 2023. What’s more, this tutorial includes the latest Notion Updates to bring your Habit Tracker to the next level.
Read on for the written tutorial or have a look at the video instructions below. And if you’re in a hurry, scroll to the bottom to download your free Notion Habit Tracker Template.
What’s the Best Notion Habit Tracker Setup?
Everyone needs a slightly different system depending on their preferences, but there are some shared elements that every good Habit Tracker in Notion should have. These are:
- Tracking for a flexible number of habits
- Being able to set a custom weekly target per habit
- Analytics to show your progress
- An easy-to-use interface
The Notion Habit Tracker setup on this page ticks all the boxes. You’ll be able to customise which habits you want to track and how often you want to do them each week. Your scores are automatically calculated. The setup uses both Notion Buttons and recurring templates to make the daily use as simple and straightforward as possible.
It also integrates well with your existing systems. If you already use Notion to manage your tasks or meals, you could simply add the habit buttons to these pages to tick of your habits from anywhere in your workspace.
How to Build a Habit Tracker in Notion
Time to fire up Notion and start building your perfect Habit Tracker in Notion.
Set up the Notion Habit Tracker Backend
The first thing you need to do is set up the backend of your Notion Habit Tracker. Follow these steps to create two new databases and define the properties you'll need:
Start by creating two new databases in Notion. One for your habits and another one to track your progress (your so-called Stats Database). Your databases should be set up like this:
In the Habits database, create at least three properties:
- Name - the main property of your database that will contain each day.
- Your Habit - create one checkbox property per habit you want to track. For example, if you want to track "Exercise" and "Meditation," create two separate checkbox properties with those names.
- Date - add a date property to record the date.
Next up, add these properties to your stats database:
- Name - this main property will store the name of each statistic.
- Your Habits - add a relation property to the Habits database. This will allow you to link the habits you're tracking to your statistics.
- #Total Days - create a roll-up property that counts all entries in the Habits database. You’ll need the number of days for various calculations to determine how well you’re doing.
- #Habit - for each habit you're tracking, create a separate roll-up property to count how often you did it. For example, if you're tracking "Exercise" and "Meditation," create two Roll-up properties named "#Exercise" and "#Meditation."
- #Habit Weekly Target - a number property to record your weekly target for each habit. Create as many targets as you have habits to track. This will allow you to determine whether you want to do something daily, or maybe just 2 or 3 times per week.
Don’t worry if you’ve never worked with relations and roll-ups before. They can seem intimidating, but they are actually super simple to use. And once you’ve got the hang of them, you can start to really upgrade your workspace. You can learn more about them in my complete Notion Database Tutorial.
For now simply set them up as follows.
Choose this setup to count all the days in your Notion Habit Tracker:
And use this setup to count all individual habits in your Notion Habit Tracker:
And with that, you’ve already mastered the first part to create your perfect Habit Tracker Template in Notion. You could already use it, but with the help of a few formulas in the next section, you’re going to supercharge it’s potential.
Supercharge your Notion Habit Tracker with Formulas
Simply counting how often you did something is nice, but what you really want for the best Notion Habit Tracker are more in-depth insights. Luckily, you can create a powerful setup with just a few formulas. You can simply copypaste the formulas from this article or take a look at my in-depth Notion Formula Tutorial to learn how to write them yourself.
Count Your Weekly Habit Performance in Notion
To start, create your first formula property in the Habits Database, called “This Week?”. This is a helper formula to tell your Notion Habit Tracker whether the daily entry should be counted for the current week or not. Use this formula:
formatDate(now(), "W") == formatDate(prop("Date"), "W")
In order to get detailed analytics in Notion, you also need a second formula property in your Habits Database to determine whether or not you did your habit. You’ll need to create one of these formula properties per habit that you’re tracking (the free Notion Habit Tracker Template at the bottom of this post tracks 5 different habits, so it has 5 of these properties).
and(prop("This Week?"), prop("Sleep"))
Replace the “Sleep” property with your respective habit property.
Last but not least, create a new roll-up property in your Stats Database for each habit and pull in the weekly performance for each habit using the following setup:
At this point you should have
- one general roll-up counting all days in your Habits Database
- one roll-up per habit counting the total times you’ve checked it off
- one roll-up per habit counting the times you’ve done something in the current week
Calculate Your Overall Habit Score in Notion
In order to calculate your overall performance based on the weekly target you set for yourself, we have to use a slightly more complicated formula.
round(prop("#Exercise") / prop("Days") / (prop("Target Exercise") / 7) * 100) / 100
This formula will always show you your progress relative to both how many days have passed and what your weekly target is. As a bonus, it will always set your goal to the weekly baseline.
Just as before, you’ll need to create one of these overall-performance-properties per habit that you plan to track in your Notion Habit Tracker.
How to Display your Progress for the Notion Habit Tracker
Now that you have both your weekly and overall performance, you just need one more type of formula for the perfect Notion Habit Tracker: a display formula.
Display Formulas don’t do any calculations themselves. Instead, they take a result and, well, display it in an easy to understand way. This will help you build much more advanced dashboards and is an essential skill if you want to push Notion to the limits.
Luckily, it’s really easy to build them. They all follow the same pattern. You use the concat() command to combine several elements. Then you add strings inside quotation marks and numbers that are turned into strings using the format() command and combine everything with “+”-symbols.
Don’t worry if that sounded complicated. Here’s an example for this Habit Tracker in Notion:
concat("😴 " + format(prop("#Sleep This Week")) + " out of " + format(prop("Target Sleep")))
The output of this formula will be:
😴 1 out of 7
That is, if you slept 1 time this week and try to sleep 7 times.
Add one of these Weekly Performance Display Formula Properties to your Stats Database for each habit that you’re tracking in your Notion Habit Tracker.
Then, do the same for your overall performance. You can of course adapt the language and play around with different ways to display the information, as long as you follow the basic recipe.
Here’s an example for the overall performance:
concat("Sleep: " + format(round(prop("% Sleep") * 100)) + "%")
Here, I’m using the word “Sleep” instead of an emoji to make clear what the display is about. The result of this formula will be:
If you understand how to combine checkboxes, roll-ups and display formulas to create these powerful analytics in Notion, then you unlock a new level of power for your Notion Workspace.
This is the last step in building the backend for your Notion Habit Tracker. Next up, let’s take a look on how to design a minimalist yet powerful dashboard in Notion.
How to build the best Notion Habit Tracker Dashboard
Let’s take another look at the Notion Habit Tracker Dashboard layout to understand how you can recreate it.
It consists of three key elements:
- A two-column layout
- Headers to contextualise the content
- Linked Database Views
To recreate this layout for your own Notion Habit Tracker, start off by creating two columns (you can type / followed by “c2” to quickly create columns in Notion) and add some headers (by typing / followed by “h2”).
Then, add two linked views. The first linked database view on the left should show your Habits Database. Here’s how to set it up:
- Choose the Table Layout option and hide the database title for a clean look.
- Hide all properties expect for the main property and your Habit Checkbox Properties.
- Set a filter to only display days for the current week. You can easily do so by using the “This Week?” Formula property that you built in the previous step
In the screenshot, you can see a second filter that ensures that only items connected to your stats are shown. This is necessary to ensure that your analytics calculations work properly. Adding this filter here means that if you add an entry to the database manually, Notion will always connect it to stats.
Next, set up the Stats Database in the other column as follows:
- Choose the Gallery Layout, hide the database title and set Card Preview to “none”
- Add all your display formula properties and get them in the right order
- Add two title and one spacer property for a visually pleasing design
Hold on a moment: title and spacer properties? Yes, you heard that right. You can use Notion Formulas also to add a little context and design to your analytics.
Creating them is super simple. Just add formula properties to the Stats Database and fill them with a String inside quotation marks:
"Your Overall Performance:”
To create a line break, add another formula property and just type a single space inside two quotation marks:
Then, add the properties to the gallery view and drag them in the right position.
How to use Notion Buttons to track your Habits
With your Notion Habit Tracker Dashboard mostly done, it’s time to add one of Notion’s newest features to turn your Habit Tracker from “pretty cool” to “absolutely amazing”.
I’m talking about Notion Buttons.
With the help of Notion Buttons, we can finally add more UI elements to our Notion Pages and run native automations without any third-party tools. There are a ton of cool ways to utilise them (make sure to check out my in-depth guide about Notion Buttons if you haven’t yet) and this Notion Habit Tracker implementation is one of them.
You can add Notion Buttons to your Habit Tracker to tick of your habit for the day. To do so, simply type / followed by “button” to add one to your page. Then, set it up as follows:
First, give it a name and select an icon. Then, click on
Add Step and opt for the
Edit pages in option. Select your Habits database.
Click on the light grey filter option
All pages in Your Habits next to
Pages to edit and set a filter for everything where the
Date property is today.
Then, click on the blue
Edit a property dropdown and choose your specific habit checkbox property.
Overall, your setup should look like this:
Repeat the steps until all habits have a button to quickly check off the daily entry.
Use Recurring Templates to automate Your Notion Habit Tracker
Last but not least, it’s time to use another recent Notion update to automate our Notion Habit Tracker. With the help of recurring templates, we can automatically add daily entries so that you don’t have to do anything except for actually following through with your habit and clicking a button to record it.
To do so, set up a database template in your Habits Database.
Next, type @Today into the name property and choose “Date when duplicated”.
Then, make sure that the relation to your stats database is filled out automatically.
To finish things off, fill the Date property automatically with the current date. For this, we’ll need to use a small workaround, since Date properties don’t have the “Date when duplicated” option at the moment.
Luckily, there’s a neat little Notion Trick you can use to achieve the same result.
Turn the Date Property into a text property. Then, type the same @today into the text property that you used for the title and choose “Date when duplicated”. Then, turn the text property back into a Date property.
The Date property will show “empty” but don’t worry. If you followed the steps as described, it will actually fill in the current date whenever you apply the template.
With the template set up correctly, it’s time to make it recurring. To do so, click on the three dots next to the template and then on the option drop-down next to Repeat. Choose “every day”.
And that’s it!
Now you have the best Notion Habit Tracker Setup for 2023 that utilises all the latest features. You can easily adapt it to track as many habits as you want.
Tip: You can also embed the Notion Buttons in other places in your Notion Workspace. As long as you set them up as shown, they will tick off your daily entries in the Habit Database.