ドキュメント
ドキュメントを見る

Requests

Ask customers for a testimonial by email, sent from your own address through your own email provider, with a personal link and follow-ups. Part of Business.

Markdownで表示

A request is one email, written by you, sent to a list of people with a button that opens one of your forms. People who do not answer can get up to three follow-ups. Requests are under Testimonials in the site's sidebar, on the Requests tab.

Nothing is sent until you press the last button, and you see who will be asked and who will be skipped before you press it. Writing and sending needs the content.write permission.

Sent through your own email provider#

Request emails are part of the Business plan, and they are sent through your own email provider: Amazon SES, Postmark, SendGrid, Mailgun or Resend. They arrive from your own address, and replies come to you. Privatus Analytics never sends a request email from an address of its own.

Your site What the Requests tab does
On Free or Pro Says what requests are and links to the plans. Requests cannot be created or sent
On Business, no provider connected Starts with Connect your email provider. You can write and save a draft. It cannot be sent, and a test cannot be sent, until a provider is connected
On Business, provider connected Everything on this page
The provider stopped accepting the connection Says why, with a link to fix it. Emails wait and nobody is dropped

Connect a provider under Settings, then Email sending. That page lists the key each provider needs.

Sharing a form's link, embedding it, the popup and the QR code work on every plan and need no email provider. See Share a form.

The list#

Part What it shows
Request emails sent this month How many request emails the site has sent this month, against its monthly limit. From 80% the line says so, with the date the count starts again
How far people got The funnel of all requests of the site: Queued, Sent, Opened, Clicked, Submitted, Bounced, Unsubscribed. Period is Last 7 days, Last 30 days (the default), Last 90 days, Last 12 months or All time. Percentages are a share of sent
Search requests Matches the name and the subject
Status, Form Filters the list. The form filter shows when the site has more than one form
The table Name, Form, Status, People, Sent, Opened, Clicked, Submitted and Next send. A request made by a purchase connection has a Purchases label
The Requests tab: the funnel for the last 30 days from queued to unsubscribed, the request emails sent this month, and the requests with their status and numbers.
The Requests tab: the funnel for the last 30 days from queued to unsubscribed, the request emails sent this month, and the requests with their status and numbers.

The menu of a row has Open, Stop or Resume, Duplicate as a draft, and Delete for a draft. New request (or the N key) starts one.

Status of a request Meaning
Draft Not sent yet
Scheduled Waiting for its time
Sending First emails are going out
Waiting First emails are out. Follow-ups are pending
Stopped Nothing more is sent until you resume it
Finished Everyone answered or got their last email

Write a request#

New request opens one page with three steps, and the email shown beside them as the first person on your list will get it.

1. Who#

Field What it does
Name of this request Only you see it. The default is "Request of" and the date
People to ask One person per line, as Maya Chen <[email protected]> or just the address. Up to 500 at a time
Or upload a CSV file Up to 5 MB and 10,000 rows. On the next screen you say which column is the email address, the name, the first name, the company, the job title or one of the site's custom properties. A column can also be ignored
Leave out anyone who already gave a testimonial through this form On by default

Save and check the list saves the draft, and the page then says how many people will be asked and how many will be skipped. See the list opens the request's page with each person and the reason.

Skipped because Meaning
Not an email address The line could not be read as an address
Duplicate The address is already in this request. Duplicates are counted and not listed
Already gave a testimonial They answered this form before
Already being asked They are in another request of this site that is still running
Asked recently This site emailed them in the last 30 days, the address had 3 request emails in 7 days from anyone using Privatus Analytics, or the person unsubscribed from requests, or mail to the address hard bounced or was reported as spam. It does not say which, because that list is shared by every workspace

The list is checked again when you send, because a draft can be days old.

Ask again on a person's page starts a draft with that one person in it. Such a draft does not leave out people who already gave a testimonial, because asking them again is the point.

2. What they get#

Field What it does
Form the button opens One of the site's forms. Each person gets their own link to it
Sender name The name shown beside your From address. Up to 60 characters. The default is the site's name
Replies go to A person on your team. See the reply-to rule below
Subject Up to 150 characters
Email Plain text with line breaks, up to 5,000 characters. Web addresses stay as text
Insert Puts a merge field at the cursor
Button text Up to 40 characters. The default is "Share your experience". The button is always there
Show the logo from the brand kit above the email On by default. The logo is the one in the brand kit
Follow-ups None to three, each with a delay of 1 to 30 days counted from the email before it, a subject and a text. A follow-up with no subject uses the first email's. A new request starts with one follow-up after 5 days

Follow-ups go only to people who have not answered, unsubscribed or bounced.

The reply-to rule. Replies never come to Privatus Analytics. They go to the member you choose, who must be able to open this site and have a confirmed email address. The default is you. Any other address is refused. If a reply address is set under Email sending, every reply goes there instead.

Merge fields put each person's details into the subject and the text:

Field Becomes
{{first_name}} The first word of their name
{{name}} Their name
{{company}} Their company
{{site_name}} The name of your site
{{sender_name}} The sender name

Add a fallback after a bar for when the value is not known, as in {{first_name|there}}. A field that does not exist is refused when you save, so nobody gets a broken greeting.

The preview beside the form shows From and Replies go to, and can be switched between the first email and each follow-up, and between desktop and phone width. Send me a test saves the page and sends the email shown to your own address, and to nobody else, through your email provider like the real ones.

3. When#

Control What it does
Send now, Send at a time A date and time is in the site's time zone. A time already past sends now
These people are customers or contacts of your site, and I may email them Must be ticked to send
Send to N people Sends or schedules. Under it is the cost: at most how many emails with follow-ups
Save draft Saves without sending

First emails go out within a minute of sending.

If your workspace has used up the month's new testimonials, the page says so. Answers are still accepted and held until the 1st or an upgrade. Sending is not blocked.

What the email looks like#

  • From: the sender name and your own From address, as set under Email sending. Replies go to the member you chose.
  • Your logo, your words in plain text, and one button in your brand color.
  • A small footer: who sent it, your postal address, and a link to unsubscribe.
  • Nothing of ours: no logo, name, link or offer.
The preview of a request email: a greeting by first name, two sentences, a Share your experience button, and the footer with the sender and an unsubscribe link.
The preview of a request email: a greeting by first name, two sentences, a Share your experience button, and the footer with the sender and an unsubscribe link.

The button of each email leads to the person's own link to the form, /f/<slug>/r/<token>. The same link is in the first email and every follow-up.

  • It is the form with the person's name filled in.
  • An answer sent through it is tied to the person and the testimonial is marked verified.
  • The giver's email address is the one the request was sent to, whatever is typed in the form's email field. The verified mark stands for that address, so an answer through one person's link never lands under another person.
  • Loading it counts the click.
  • The link holds a random token, never the email address. Only a SHA-256 of the token is stored, and the page is never cached.

After sending#

Open a request to see its state, its funnel, its emails and its people.

A request's page: its funnel of 48 sent, 29 opened, 15 clicked and 7 submitted, the first email and the follow-up, and each person with a status and the next email.
A request's page: its funnel of 48 sent, 29 opened, 15 clicked and 7 submitted, the first email and the follow-up, and each person with a status and the next email.
Part What it shows
How far people got The funnel of this request
The emails The first email and each follow-up with its delay, and how many people each was sent to
People Each person with their status, emails sent, last event, next email and, once they answered, a link to the testimonial. Search by name, address or company and filter by status
Status of a person Meaning
Queued Waiting for the first email
Sent At least one email went out
Opened The email's one small image was loaded. What is recorded
Clicked The person's own link was loaded
Submitted They answered
Bounced The mail could not be delivered, or was reported as spam
Unsubscribed They opted out
Skipped Never emailed, with the reason
Stopped You stopped this person. They keep their place

A person gets no further email once they answer, unsubscribe or bounce.

  • Edit (or the E key) changes the name, the form, the subject, the text, the delays and the number of follow-ups at any time. Changes apply to every email not yet sent.
  • Stop cancels every email not yet sent, at once. Resume continues where it stopped. A follow-up that came due meanwhile is timed again from the moment you resume, so nothing goes out in a bunch.
  • Tick people in the list to stop, resume or remove just them, up to 100 at a time. Only people who were sent nothing can be removed.
  • Add people adds to a request, by a pasted list or a CSV file. In a running request they get their first email within a minute. Adding to a finished request opens it again.
  • A request that was sent cannot be deleted. It is the record of mail that was sent. A draft can.

Limits#

Each site can send 10,000 request emails a month through its email provider. Every email counts, first emails and follow-ups. A test you send to yourself does not. The number is set by us for each site: to raise it, write to [email protected]. See the monthly limit.

Limit What happens at it
The site's request emails for the month Sending waits and the request says "Waiting for next month", with the date it starts again. It continues by itself on the 1st. Nobody is dropped
A limit of your email provider (a rate limit, a daily quota) The email is tried again later
30 sends an hour for a member The send is refused. Try again later
3 request emails to one address in 7 days, from everyone Before the first email the person is skipped as "Asked recently". Later, their follow-ups end
10 test sends an hour for a member The test is refused. Try again later

Unsubscribing and the opt-out list#

Every email has an unsubscribe link, and mail apps show their own unsubscribe button for it. The link opens a page with one button. Pressing it:

  • marks the person Unsubscribed in the request the email came from,
  • puts the address on the opt-out list, which stops testimonial requests to it from every workspace, not only yours. Emails already waiting for the address anywhere are dropped when their turn comes.

No workspace can see the list or override it. Only a keyed hash (HMAC-SHA256) of the address is kept on it, never the address itself.

The same page offers Receive requests again, which sends the person a confirmation email with a link that works for 7 days. Confirming takes the address off the list. That is the only way back, and only the person with the mailbox can use it.

Bounces#

Privatus Analytics asks your email provider for recent bounces and spam complaints, about every 15 minutes, and matches each to the request email it is about. Anything that is not about a request email sent from here is ignored. See Email sending for what each provider reports.

Event What happens
A soft bounce, such as a full mailbox The person is marked Bounced and gets no further email from this request. The address is not put on the opt-out list
A hard bounce: the address does not work The same, and the address goes on the opt-out list for every workspace
The email is reported as spam The same as a hard bounce

An address that hard bounced or was reported as spam cannot be taken off the list with Receive requests again.

What the open counter records#

Each request email carries one small image, served from our own domain at an address that holds the id of that one email (/requests/o/<id>.gif). When a mail app loads it, this is everything that is stored:

Where What
The record of that one email The time it was first opened. Loading the image again changes nothing
The person in the request The time of their first open and the time of their last event. Their status moves from Sent to Opened
The request One more in its Opened count, once for each person, however many emails they open
The site's daily totals One more open for that request on that day, also once for each person

So an open is recorded per email and per person. Nothing else is recorded:

  • No IP address and no User-Agent is read, stored or written to a log.
  • No cookie is set or read.
  • Nothing is recorded about the device, the mail app or the place.
  • The image address holds an id of the email, never the person's address. An address with an unknown id gets the same image.

Opens are approximate. Mail apps can block images, and then an email that was read is not counted. Some mail apps and their image proxies load images before anyone looks, and then an email that was not read is counted.

A click is counted the same way: the person's own link was loaded, once, with the time. There is no redirect that tracks links, and no other link in the email is counted.

A test you send to yourself has no image and no personal link. The plain text version of an email has no image.

API and MCP#

Every operation is in the API reference and the MCP reference with its inputs and response fields.

Action MCP tool Permission
List and read requests, with their funnel counts testimonial_requests_list, testimonial_requests_get analytics.read
One email as its first recipient gets it testimonial_requests_preview analytics.read
Start a draft, change a request testimonial_requests_create, testimonial_requests_update content.write
Send a test to your own address testimonial_requests_send_test content.write
Send, now or at a time testimonial_requests_send content.write
Stop, resume testimonial_requests_stop, testimonial_requests_resume content.write
Copy into a draft, delete a draft testimonial_requests_duplicate, testimonial_requests_delete content.write
The people of a request testimonial_request_recipients_list analytics.read
Add people, from a list or a CSV file testimonial_request_recipients_create, testimonial_request_recipients_import content.write
Stop, resume or remove chosen people testimonial_request_recipients_stop, testimonial_request_recipients_resume, testimonial_request_recipients_delete content.write

Sending needs confirm_relationship: true. Addresses of chosen people are sent in the body, never in a URL.

Errors are a 422 with a code: unknown_merge_field, confirmation_required, no_form, no_recipients, wrong_state, too_many, unknown_ids, upload_expired, and for sending and test sends no_email_connection (no email provider is connected) and email_connection_paused. On a plan without request emails, creating, sending, resuming and duplicating respond with 402 and plan_limit. Past an hourly limit the server responds with a 429 and rate_limited. The monthly limit is never an error: the people stay queued.

An AI assistant cannot delete anything. The MCP tools testimonial_requests_delete (delete a draft) and testimonial_request_recipients_delete (remove chosen people) run nothing: each responds with human_only and the address of the request's page, and the assistant hands you that link. The API runs both.

Connecting the email provider itself is done in the web app only. It has no API operation and no MCP tool.

Sending emails people outside your workspace. So when an AI assistant sends a request, resumes a request or people in it, or adds people through MCP, the tool runs and you get an email saying what it did. The API runs the same operations without that email.

Webhooks: testimonial_request.sent when the first email of a request goes out, and testimonial_request.completed when everyone has answered or had their last email.

Good to know#

  • What counts toward the site's month is every request email that is sent: first emails and follow-ups, also those to buyers from a purchase connection. Test sends do not count.
  • A testimonial that comes in through a request counts toward the month's new testimonials like one from a form.
  • An address is in a request once. Adding it again is counted as a duplicate.
  • A follow-up delay is counted from the email before it. Changing a delay re-times the follow-ups that are waiting.
  • A request made by a purchase connection never finishes while the connection exists, because buyers keep arriving.