Product review: Tally
building a public product feedback form with a European alternative 2025-06-10 #product #review
Tally offer a GDPR-compliant web-based forms builder that stores form data in Europe. To try it out, I built a flexible product feedback form.
Web forms
Tally solves the problem of building complex forms and publishing them on the web.
You get more options to customise your form’s appearance than with Google Forms, and a better editor experience.
Form editor
Editing a Tally form resembles editing a document in Notion. You insert, drag and configure blocks with slick direct manipulation.
The insert block pop-up lists many block types, with inline documentation and previews:
Alternatively, as in a Notion document, you can type a forward slash and autocomplete block names, e.g. /checkboxes
.
I love how quickly this lets you type a form’s outline and content, deferring detailed configuration.
Integration
Forms collect data, which makes it natural to want integration with other destinations for that data. You browse form submissions in the built-in dashboard to, but also connect other tools.
Google Sheets integration creates a new spreadsheet, and adds form submissions to it. I used this to give colleagues access to the whole set of form submissions, for reporting, without needing to log in to Tally.
Slack integration
posts each form submission as a message in a selected channel.
You format the message with Markdown, with placeholders for form values.
I used this to publish anonymised feedback in a #product-feedback
Slack channel,
so that all team members could see customer feedback.
Localisation
Tally has partial support for form localisation. For each form, select one of 53 supported languages (at the time of writing) for the form user-interface text, such as button labels and error messages.
To localise form content, you have to duplicate your form, and maintain a separate copy. This worked fine for one relatively simple form and two languages, but this would become harder to maintain with many languages, if you add conditional logic.
Conditional fields
Designing forms becomes more complicated when you wonder whether to include a particular question and conclude that it depends. For example, suppose you offer a customer support follow-up:
On a form like this, you don’t collect your customer’s email address unless they want you to use it. In Tally, you achieve this with conditional logic that dynamically updates the form when it satisfies a condition:
In this example, the Contact email address heading at the email input block configurations hide them by default. The conditional logic then overrides this configuration with a Show blocks action whenever the user has selected Yes, please contact me. I like how clearly Tally implements this, and how subtly this makes it a flexible no-code tool.
Hidden fields
Tally’s hidden fields led to my favourite discovery. To lower friction for gathering feedback, we wanted customers to click a star rating in our product user interface, and pre-populate the star rating. To do this, you:
- add a
rating
hidden field - configure star rating’s default answer (initial value) to use the
rating
field’s value - in the product user interface, make each star a separate link, with the rating in the URL query string, e.g.
?rating=5
, to populate the hidden field.
Similarly, use a subject
hidden field to track where in the product the feedback came from,
so you can reuse the form.
Rating
Tally gets five stars. More like this please!
⭐️⭐️⭐️⭐️⭐️