Everything you need to collect, manage, and embed testimonials.
Sign up for free and create your first project. Add your company name and a thank-you message for clients.
Copy your unique collection link from the dashboard. Send it to clients via email, DM, or add it to invoices.
Review testimonials in your dashboard. Approve the best ones and copy the embed code for your website.
Share your unique collection link with clients. They see a simple form where they can leave a star rating (1–5), their name, job title, company, a written testimonial, and optionally a video link (YouTube, Loom, or Vimeo). No account needed — they just fill out the form and submit.
All incoming testimonials appear in your project dashboard. From there you can approve them to make them visible on your public wall, reject them to hide them, or delete them entirely. Only approved testimonials are shown on your wall and embed widget.
In your project dashboard, click the "Embed" button to copy the embed code. Paste it into your website's HTML — it works as an iframe with any website builder including WordPress, Webflow, Squarespace, Wix, and plain HTML sites. The embed auto-resizes to fit your content.
Pro users can choose from 4 widget layouts in the project dashboard: Masonry (Pinterest-style columns), Grid (even rows), Carousel (scrollable slider), and List (single column). The layout applies to both the public wall page and the embed widget.
Clients can add a YouTube, Loom, or Vimeo link when submitting a testimonial. The video is automatically embedded on your testimonial wall and plays inline. Video testimonials are shown alongside text testimonials in your chosen layout.
Every project has a 'Send from your inbox' button that opens your email client (Apple Mail, Gmail, Outlook) with a pre-filled email — works for everyone with zero setup, and emails come from your real inbox so they never land in spam. Pro users can additionally connect their own Resend account in Settings to send automatically from the dashboard. Resend requires verifying a domain (free tier limits sending to your own email until you do). For most freelancers, the inbox option is faster and more personal anyway.
Download any testimonial as a designed image ready for social media. Choose between Instagram format (1080×1080) and LinkedIn format (1200×628). The image includes the testimonial text, author name, star rating, and your branding.
Track how your collection link and testimonial wall are performing. See page views for both your collect page and your wall page, plus the conversion rate (submissions ÷ collect page views). Analytics are shown per project in your dashboard.
Upload your own logo in the project settings. It replaces the "Powered by TestiPull" badge on your testimonial wall and embed widget, giving your wall a fully branded look.
Export all testimonials from a project as a CSV file. The export includes author name, job title, company, rating, testimonial text, video link, status, and submission date. Great for backups or importing into other tools.
Make sure you’ve approved at least one testimonial. The embed only shows approved testimonials. Also check that your website allows iframes — some builders have security settings that block them.
Double-check that you’re sharing the correct link from your dashboard. The link format is testipull.com/collect/your-slug. Make sure the link isn’t broken by your email client wrapping it.
Try logging out and back in to refresh your session. If the issue persists, check that your payment was completed in Polar. Contact support if the problem continues.
Only YouTube, Loom, and Vimeo links are supported. Make sure the video is set to public or unlisted (not private). The full URL must be pasted — shortened links may not work.
If you’re using “Send from your inbox”, your email client should pop up with a pre-filled message — you still need to hit Send there. If you’re using “Send automatically” (Pro + Resend) and getting a 403 error, your Resend account doesn’t have a verified domain yet. Free Resend accounts can only send to your own verified email until you add and verify a custom domain at resend.com/domains. Use “Check domain status” in Settings to confirm.
Most likely your Resend domain isn’t fully authenticated. Make sure all DNS records (SPF, DKIM, DMARC) Resend gave you are live and verified. Brand-new domains also have low sender reputation — warm them up by sending a few emails to inboxes that will open them. As a fallback, the “Send from your inbox” button avoids this entirely because the email goes through your normal mail provider.
Double-check you copied the full key (starts with “re_”). Both “Sending access” and “Full access” key types work. If you used “Sending access”, you'll see a blue “sending-access key accepted” badge instead of the green “ready to send to anyone” badge — that's expected, it just means we can't verify your domain status from here (we don't have permission to read your account with that key). Make sure your sending domain is verified at resend.com/domains so your emails don't get blocked.
Either works. Use your apex domain (e.g. yourname.com) if you want clean sender addresses like hi@yourname.com — best choice for most freelancers. Use a subdomain (e.g. mail.yourname.com or send.yourname.com) if you already use the apex for your existing inbox (Google Workspace, IONOS, etc.) and want to keep email reputations isolated. Resend's onboarding suggests ‘updates.example.com’ because subdomains are the conservative default — but apex is fine if your domain isn't already running another mail setup.