Collecting feedback for a newsletter or membership site
Put a link to the hosted feedback form in every newsletter footer, and use a widget on each web archive page to send the issue number as metadata. For members, add their address to the hosted link with the email parameter so they do not retype it. Reply from your own email, because Escuta Produto does not send messages to readers.
By Rafael Thayto 路 Published 路 Last updated
Why a newsletter needs two feedback paths
A newsletter has two kinds of reader. Most read each issue in an inbox, and a few reply to the email directly. Members of a membership site also log in, read archived issues and use features on the site. Each group needs a different path. A footer link works for anyone reading an email, and an entry point on the archive page works for readers who have a browser open with the issue in front of them.
The hosted feedback page is the simplest first step. Each product has a page at https://escutaproduto.com/f/<product-slug>, with ?lang=en or ?lang=pt for the language. The page uses your accent color and is not indexed by search engines, so it works as a private form for readers. The hosted page reference explains the options.
Add the hosted link to every issue footer
Put one line in the footer of your email template. Keep it short and specific, because a footer is easy to skip:
<p>Something in this issue missed the mark? <a href="https://escutaproduto.com/f/your-product-slug?lang=en">Tell me what you think</a>.</p>
The link opens the hosted form in a browser. Readers choose a type, write a message and optionally add a rating. A plain sentence that asks for a specific kind of response, such as "what did you want more of", tends to get better answers than a generic thank you line.
Do not put the link in the body of every issue. Readers who see it three times in a row learn to ignore it. A footer on each issue, plus a question in a longer piece once in a while, is enough.
Send the issue number from the archive page
The footer link cannot tell you which issue a reader was reading, because the hosted page takes no metadata. For that, use the web archive. Each issue page carries the widget, and the page sets the issue number as metadata:
<script src="https://escutaproduto.com/widget.js" data-key="pk_your_product_key" data-trigger="none" defer></script>
<button type="button" data-escuta-open="idea">Suggest something for a future issue</button>
window.addEventListener("load", () => {
window.EscutaProduto.setMetadata({ issue: 142, source: "archive" });
});
Set the issue number from your template, not by hand, so each archive page carries its own number. The widget sends the page address automatically, so the issue URL is already in the report. Keep the metadata to the issue number and a source label. A report that says "issue 142, archive" tells you which edition the reader was looking at.
If your newsletter tool runs on a server, you can send the same data from that server with the REST API, using POST https://escutaproduto.com/api/v1/feedback. Remember that every request from one server counts against the limit of 10 per minute per IP address and product, so queue bursts.
Prefill the email for members
Members who are logged in should not have to type their address again. The hosted page reads the email parameter and fills the field for them, so you can add it to the link you show members, such as a link in the members area or in a members-only issue.
The link needs the member's address as a parameter. Build it with the same tool that builds your other links, and make sure the address is URL-encoded, which encodeURIComponent does in plain JavaScript. Most email tools can insert a recipient's address with a merge field. Check that the tool encodes the value before it goes into the link.
Two cautions apply. Prefilled addresses are private, so only put these links in messages sent to that member or in the members area, never in public posts. And a link that carries an address can pass through email trackers, so ask whether your audience is comfortable with that before you use it widely.
How do membership sites tell members from readers?
On a membership site, the widget can identify the logged-in member, so the report arrives with their name and email already filled in. Call identify after login, using the values your site already has:
window.EscutaProduto = window.EscutaProduto || { q: [] };
(window.EscutaProduto.q ||= []).push(["identify", [{
email: member.email,
name: member.name,
id: member.id,
membershipTier: member.tier,
}]]);
Extra keys such as membershipTier are stored as metadata, which lets you filter the export later. The email and name fill the form fields, and the field for email is hidden for identified members. Keep the tier label simple, such as "member" or "early reader", and do not include payment details, card numbers or billing addresses.
What do you do with reports from members?
Members are often the people with the most context. They read the whole archive, they know your past issues, and they have a reason to care about the next one. Treat their reports with a reply, even a short one. A member who writes in and hears back from a person usually stays.
Escuta Produto does not send automatic emails to customers, so replies come from your own email. Use the inbox statuses to show progress: planned, in progress and done. When a suggestion ships, mention it in the next issue, and link back to the archive. A short line such as "you asked for shorter summaries, so this issue has one" is the kind of reply readers remember.
For a team that runs several publications or products, give each one its own product in Escuta Produto. The article on one feedback inbox for many products explains how to keep the inboxes apart.
Doing it with Escuta Produto in one afternoon
Create a product for the publication and copy the public key. Add the footer line to the email template, then send a test issue to yourself and click the link. Add the widget and the issue metadata to the archive template, and check that a test report shows the issue number in the inbox. Connect the Slack or Discord webhook so new items reach the editor.
For a broader approach to asking readers for input, read how to collect customer feedback. The triage guide covers sorting reports once they arrive, and the widget best practices guide explains when an on-page entry point helps more than a link.
Frequently asked questions
How do I know which newsletter issue a reader was looking at?
Use the widget on each web archive page and set the issue number with setMetadata when the page loads. The hosted form link in the email footer cannot carry that number, so it works best as a general line.
Can I fill in a member's email address on the feedback form?
Yes. Add the address as the email parameter in the hosted page link, encoded for the URL. Only send these links to that member, because a link that carries an address is private.
Does Escuta Produto email readers when I reply to feedback?
No. Replies come from your own email address, so you control the wording and the sender. Use the inbox status to show progress, and mention shipped suggestions in a later issue.
Related
- How to collect feedback in a SaaS productCollect in-app feedback from SaaS customers: load the widget once, identify users after login, add plan metadata and place entry points where work happens.
- How to collect feedback in a mobile appCollect feedback from iOS, Android or React Native with one REST API request, app version metadata and a hosted form link in your store listing.
- How to collect feedback for a Chrome extensionCollect Chrome extension feedback with a REST API call from the popup, a hosted form as the uninstall URL and the extension version on every report.
- How to collect feedback for a WordPress pluginCollect feedback for a WordPress plugin with a settings page link to a hosted form, server-side API posts with site details, and no remote script in wp-admin.