SoTrustworthy automatically prevents duplicate review requests using built-in phone number deduplication, automated cooldown windows (throttling), and real-time CRM sync checks. When a job is completed in an integration like Jobber or HubSpot, or when you upload a contact list manually, SoTrustworthy verifies whether that contact has already received a request within your specified timeframe before queuing a new text message. This protects your brand from spamming repeat customers, lowers your SMS opt-out rate, and maintains compliance with telecommunication regulations.
Why Duplicate Review Requests Harm Your Business
Sending duplicate review requests to the same customer within a short period creates friction and risks damaging your online reputation. While collecting reviews is critical for local search rankings, over-messaging customers often backfires.
- High opt-out rates: If a customer receives multiple review requests in a single week after routine service calls, they are far more likely to reply "STOP" to your text messages.
- Negative reviews: Annoyed customers who feel spammed may click your link specifically to leave a low-star review complaining about aggressive automated communication.
- Carrier filtering: Mobile carriers track high-volume, repetitive text messaging to individual numbers. Repeatedly texting the same recipient within a short window triggers carrier spam filters under standard CTIA Messaging Principles.
SoTrustworthy operates on an SMS-first workflow designed to give your business high conversion rates while respecting customer boundaries. By enforcing strict duplicate prevention logic, your campaigns remain professional and effective.
The 3-Layer Duplicate Prevention System
SoTrustworthy uses three distinct layers of protection to ensure customers never receive redundant text messages or emails.
[ CRM Trigger / CSV Upload ]
│
▼
[ Layer 1: Contact ID & Phone Match ]
│
▼
[ Layer 2: Cooldown Window (Throttling) ]
│
▼
[ Layer 3: Opt-Out & Suppress Check ]
│
▼
[ Send SMS Request or Skip ]
Layer 1: Unique Identification and Deduplication
When customer data enters SoTrustworthy—whether via an automated CRM webhook or a manual CSV import—the platform normalizes all phone numbers into international E.164 format (for example, +15551234567).
If you upload a contact named "Dave Smith" twice in the same batch, or if your CRM fires two separate completion webhooks for the same appointment, SoTrustworthy merges the records immediately using the unique phone number. The platform will only create one pending review invite.
Layer 2: Time-Based Cooldown Windows (Throttling)
Repeat service calls are common in home services. An HVAC company might visit a home on Monday for a diagnostic check and return on Thursday to replace a part.
Without throttling, both completed jobs would trigger separate SMS review requests. SoTrustworthy applies a configurable Cooldown Window (defaulted to 60 days). If a phone number received a review invite 4 days ago, any new trigger for that same contact is automatically dropped or delayed until the cooldown window expires.
Layer 3: Unsubscribe and Global Suppression Lists
If a customer opts out of receiving SMS messages by replying "STOP," SoTrustworthy immediately flags that phone number in your account database. Future job completions in Jobber, HubSpot, or manual lists will check the global suppression list before sending. Even if you re-upload that customer's phone number six months later, SoTrustworthy will block review requests from being sent to them.
This automated exclusion keeps your business in compliance with federal laws, including the Telephone Consumer Protection Act (TCPA).
How Duplicate Prevention Works with CRM Integrations
Most small businesses connect SoTrustworthy directly to their field service management software. Here is how duplicate prevention operates with our primary integrations:
Jobber Integration
In Jobber, reviews are usually triggered when a Job is Closed or an Invoice is Paid.
- The Scenario: A homeowner hires you for weekly lawn maintenance. Jobber closes 4 separate jobs in a single month.
- The System Response: SoTrustworthy receives all 4 event triggers from Jobber. The first trigger on Week 1 dispatches an SMS review request. Triggers on Weeks 2, 3, and 4 hit the active cooldown window. SoTrustworthy logs these incoming events as "Skipped - Cooldown Active" in your dashboard, ensuring the homeowner only gets one request.
HubSpot Integration
When using HubSpot, review requests are typically tied to deal stage changes (e.g., "Closed Won" or "Service Delivered").
- The Scenario: A sales representative accidentally toggles a HubSpot deal from "Closed Won" back to "In Progress" and then back to "Closed Won" on the same afternoon.
- The System Response: HubSpot fires two identical webhooks minutes apart. SoTrustworthy identifies the duplicate phone number and the active cooldown, suppressing the second message automatically.
Configuring Your Cooldown Settings
You can adjust your request throttling to match the natural cycle of your business model.
- Log in to your SoTrustworthy dashboard.
- Navigate to Settings > Sending Rules.
- Locate the Review Request Cooldown section.
- Set your preferred timeframe (e.g., 30, 60, 90, or 180 days).
- Click Save Changes.
Recommended Cooldown Settings by Industry
| Industry | Recommended Cooldown | Reason |
|---|---|---|
| Plumbing / Electrical / HVAC | 60 – 90 Days | High likelihood of multi-day follow-up visits for a single issue. |
| House Cleaning / Maid Services | 90 Days | Regular recurring visits; asking every week causes unsubscribes. |
| Hair Salons / Spas | 45 – 60 Days | Recurring monthly appointments benefit from spacing out asks. |
| Auto Repair | 90 Days | Prevents spamming customers who bring multiple vehicles in. |
Note: Cooldown features are available across all SoTrustworthy tiers, including the Starter, Growth, and Pro plans, as well as during your 14-day trial.
What Happens When a Request Is Blocked?
When SoTrustworthy blocks a duplicate request, you can still view the activity in your account log to verify that your automation integrations are communicating properly.
Inside the Activity Log tab, blocked requests appear with one of three status tags:
- Skipped (Throttled): The contact received a request recently and is currently inside your configured cooldown window.
- Skipped (Duplicate in Batch): The contact was listed multiple times within the same manual file upload.
- Skipped (Opted Out): The contact previously unsubscribed from your messaging campaign.
This transparency allows you to audit your integration without worrying that valid customers are being missed or spammed.
Compliance with Google Policies and Message Privacy
Preventing excessive messaging isn't just good customer service—it aligns with platform guidelines and carrier enforcement rules.
Google's Maps User Contributed Content Guidelines strictly forbid deceptive or harassing review solicitation practices. Sending aggressive, rapid-fire automated text messages to a single customer can be interpreted as harassment, leading customers to flag your review link or report your business profile.
Furthermore, SoTrustworthy enforces a strict policy against review gating (filtering unhappy customers away from public review sites). Duplicate prevention applies equally to all valid customers, regardless of past rating history, ensuring your business stays fully compliant with Google rules and FTC enforcement guidelines.
Frequently Asked Questions
Can I manually override a suppressed duplicate request?
Yes. If a customer explicitly tells you, "Send me that link again, I deleted the text," you can open their contact profile in SoTrustworthy and click Send Manual Request. Manual overrides bypass the automated cooldown filter, but they will never bypass a contact who has explicitly opted out via "STOP."
What if two different customers share the same phone number?
If a husband and wife share a landline or mobile number for booking services, SoTrustworthy evaluates the phone number as the primary destination address. The system will treat incoming triggers for that shared number under standard deduplication rules to prevent sending two texts to the same phone.
Does uploading a new CSV file overwrite current cooldowns?
No. Manual CSV uploads go through the same verification pipeline as API webhooks. If a CSV file contains 100 contacts and 15 of them received a review request 10 days ago, those 15 will be skipped automatically based on your active cooldown settings.
Next Steps
- Set Up Your Cooldown Window: Configure your automatic throttling settings based on your business service cycle.
- Check Your Activity Log: Review skipped and throttled requests to monitor how your CRM integrations are performing.
- Connect Jobber or HubSpot: Ensure your automated triggers are sending clean, deduplicated contacts directly from your primary CRM.
Ask every customer for a review—without review gating.
SoTrustworthy sends a compliant, perfectly-timed review request to every customer after the job — no filtering, no gating, just more honest 5-star reviews on Google.



