Deleting contacts removes them permanently from your CRM. PloverCRM provides safeguards to prevent accidental deletion while making it easy to remove contacts when necessary.
Overview #
Contact deletion is used for:
- Removing duplicate contacts
- Cleaning up test data
- Complying with data deletion requests (GDPR, CCPA)
- Removing invalid or spam contacts
- Database maintenance
Important Warnings #
Permanent Deletion #
Critical: Deleted contacts cannot be recovered unless you have a backup.
What Gets Deleted:
- All contact information (standard and custom fields)
- All notes and activities
- List and tag assignments
- Contact ownership records
- Related metadata
What Remains:
- Form submissions (if tracked separately)
- Email campaign statistics (aggregated)
- Audit logs (if enabled)
Before Deleting #
Always:
- Export contact data as backup
- Verify you’re deleting the correct contact
- Check if contact has important notes
- Consider archiving instead of deleting
- Inform team members if shared contact
Deleting Single Contact #
Method 1: From Contacts List #
- Navigate to PloverCRM → Contacts
- Hover over the contact row
- Click Trash (or Delete Permanently if already in trash)
- Confirm deletion when prompted
Method 2: From Edit Screen #
- Open contact in edit mode
- Click Move to Trash in the Publish metabox
- Confirm deletion
Method 3: From Contact Detail Page #
- View contact detail page
- Click Delete button
- Confirm deletion when prompted
Confirmation Dialog #
Warning Message:
<span class="hljs-selector-tag">Are</span> <span class="hljs-selector-tag">you</span> <span class="hljs-selector-tag">sure</span> <span class="hljs-selector-tag">you</span> <span class="hljs-selector-tag">want</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">delete</span> <span class="hljs-selector-tag">this</span> <span class="hljs-selector-tag">contact</span>?
<span class="hljs-selector-tag">Contact</span>: <span class="hljs-selector-tag">John</span> <span class="hljs-selector-tag">Doe</span> (john<span class="hljs-variable">@example</span>.com)
<span class="hljs-selector-tag">This</span> <span class="hljs-selector-tag">action</span> <span class="hljs-selector-tag">cannot</span> <span class="hljs-selector-tag">be</span> <span class="hljs-selector-tag">undone</span>.
<span class="hljs-selector-attr">[Cancel]</span> <span class="hljs-selector-attr">[Delete Permanently]</span>
What to Check:
- Verify contact name and email
- Check for important notes
- Ensure no pending tasks
- Confirm it’s not a duplicate of wrong contact
Trash vs Permanent Delete #
Two-Step Deletion (PloverCRM) #
Step 1: Move to Trash
- Contact moved to trash
- Not permanently deleted yet
- Can be restored within 30 days
- Hidden from normal contact lists
Step 2: Permanent Delete
- After 30 days, auto-deleted
- Or manually delete from trash
- Cannot be recovered
- Completely removed from database
Viewing Trashed Contacts #
- Go to PloverCRM → Contacts
- Click Trash link (above contact list)
- View all trashed contacts
- Restore or permanently delete
Restoring from Trash #
- Go to trash view
- Hover over contact
- Click Restore
- Contact returns to active contacts
Emptying Trash #
Empty All:
- Go to trash view
- Click Empty Trash button
- Confirm permanent deletion
- All trashed contacts deleted permanently
Warning: This cannot be undone!
Bulk Deletion #
Delete multiple contacts at once. See Bulk Operations for details.
Quick Steps #
- Navigate to PloverCRM → Contacts
- Select contacts using checkboxes
- Choose Move to Trash from Bulk Actions
- Click Apply
- Confirm bulk deletion
Bulk Delete Limits #
Safety Limits:
- Maximum 100 contacts per bulk operation
- Requires confirmation for > 10 contacts
- Super admin can override limits
For Larger Deletions:
- Use filters to narrow selection
- Delete in multiple batches
- Consider using WP-CLI for very large deletions
Permission Requirements #
Delete Permissions #
Who Can Delete:
- Super admins (all contacts)
- Users with delete_contacts capability
- Contact owners (their own contacts, if permitted)
Permission Levels:
delete_scope = owned:
- Can only delete own contacts
- Cannot delete unassigned contacts
- Cannot delete others’ contacts
delete_scope = all:
- Can delete any contact
- Can delete unassigned contacts
- Can delete others’ contacts
Checking Delete Permission #
Visual Indicators:
- “Trash” link visible = can delete
- No “Trash” link = no permission
- Grayed out = insufficient permission
Error Message:
"You <span class="hljs-keyword">do</span> <span class="hljs-keyword">not</span> have permission <span class="hljs-keyword">to</span> <span class="hljs-keyword">delete</span> this contact<span class="hljs-string">"</span>
Solutions:
- Contact administrator for permission
- Ask contact owner to delete
- Request role upgrade if needed
GDPR/CCPA Compliance #
Right to Erasure #
GDPR Article 17 / CCPA Requirements:
When contact requests data deletion:
- Verify identity of requester
- Export contact data (for records)
- Delete contact from CRM
- Document deletion request
- Confirm deletion to requester
Deletion Workflow #
Step-by-Step:
- Receive Request:
- Email or form submission
- Verify identity
- Export Data:
- Export contact as CSV
- Save to secure location
- Document export date
- Delete Contact:
- Move to trash
- Permanently delete
- Clear from any caches
- Verify Deletion:
- Search for contact (should not exist)
- Check related systems
- Confirm complete removal
- Document:
- Log deletion request
- Record deletion date
- Keep audit trail
- Confirm:
- Email confirmation to requester
- Include deletion date
- Explain what was deleted
Retention Policies #
Legal Requirements:
- Some data may need to be retained for legal/tax purposes
- Check local regulations
- Consult legal counsel
Best Practice:
- Document retention policy
- Automate deletion after retention period
- Regular compliance audits
Alternatives to Deletion #
Archiving Contacts #
Instead of deleting, consider:
Create “Archived” Tag:
- Create tag called “Archived”
- Assign to contacts you want to hide
- Filter out archived contacts in views
- Can be restored easily
Benefits:
- Preserves data
- Can be restored
- Maintains history
- Complies with retention policies
Unsubscribing #
For email-related removals:
FluentCRM:
- Change status to “Unsubscribed”
- Contact remains in database
- Won’t receive emails
- Can be resubscribed
PloverCRM:
- Remove from all email lists
- Add “Unsubscribed” tag
- Keep contact data
- Can be re-added to lists
Marking as Inactive #
Create “Inactive” Stage:
- Create stage called “Inactive”
- Move contacts to this stage
- Filter out in reports
- Preserves all data
Troubleshooting #
Cannot Delete Contact #
Problem: Delete option not available or grayed out.
Solutions:
- Check if you have delete permission
- Verify contact ownership
- Check delete_scope setting
- Ensure you’re not trying to delete yourself
- Contact administrator
Deletion Fails with Error #
Problem: Error message when trying to delete.
Solutions:
- Check server error logs
- Verify database connection
- Check for plugin conflicts
- Try deleting from different screen
- Contact support with error details
Contact Still Appears After Deletion #
Problem: Deleted contact still shows in lists.
Solutions:
- Refresh the page
- Clear browser cache
- Check if in trash (not permanently deleted)
- Verify deletion completed successfully
- Check for caching plugins
Bulk Delete Fails #
Problem: Bulk deletion doesn’t work or times out.
Solutions:
- Reduce number of contacts selected
- Delete in smaller batches
- Check server timeout limits
- Try individual deletions
- Use WP-CLI for large deletions
Accidentally Deleted Contact #
Problem: Deleted wrong contact by mistake.
Solutions:
- Check trash immediately
- Restore from trash if available
- Restore from backup if permanently deleted
- Re-create contact manually if no backup
- Check audit logs for contact data
Best Practices #
Before Deleting #
- Verify Identity:
- Double-check contact name
- Verify email address
- Check for similar contacts
- Export Data:
- Create backup
- Save important notes
- Document reason for deletion
- Check Dependencies:
- Review notes and activities
- Check for pending tasks
- Verify no active campaigns
- Team Communication:
- Notify team if shared contact
- Check if anyone needs the data
- Document deletion decision
During Deletion #
- Use Trash First:
- Move to trash, don’t permanently delete immediately
- Allows 30-day recovery window
- Safer than immediate permanent deletion
- Confirm Carefully:
- Read confirmation dialog
- Verify contact details
- Don’t rush through confirmation
- Document Reason:
- Add note before deleting (if possible)
- Log deletion reason
- Maintain audit trail
After Deletion #
- Verify Deletion:
- Search for contact (should not exist)
- Check related lists
- Confirm complete removal
- Update Records:
- Update any external systems
- Remove from email lists
- Clear from integrations
- Maintain Compliance:
- Document deletion for GDPR/CCPA
- Keep audit logs
- Confirm to requester if applicable
Related Documentation #
- Creating Contacts Manually – Creating contacts
- Editing Contact Details – Updating contacts
- Bulk Operations – Bulk deletion
- Contact Ownership – Ownership system
- Roles and Permissions – Permission system
- Exporting Contacts (CSV) – Backup before deletion
Need Help? #
If you’re having trouble deleting contacts:
- Verify you have delete permission
- Check contact ownership
- Try moving to trash first
- Review error logs
- Contact support with specific error messages
Last updated: February 3, 2026