Recommendations
Core Forms automatically generates actionable recommendations for each form based on its analytics data. These tips help you identify and fix performance issues without manual analysis.
How It Works
The recommendations engine evaluates funnel metrics against threshold values and produces a list of typed recommendations, each with a severity level.
Recommendation Types
Low Start Rate (visibility)
Triggers when: views > 50 and start_rate < 10%
Severity: warning
Message: "Low engagement: only X% of viewers start the form. Consider making the form more prominent or reducing perceived effort."
Suggested fixes: - Move the form higher on the page - Reduce the visible number of fields - Add a compelling heading above the form - Use a call-to-action that sets expectations
Low Completion Rate (length)
Triggers when: starts > 20 and completion_rate < 30%
Severity: warning
Message: "High abandonment: only X% of starters complete the form. Consider reducing the number of fields or using multi-step."
Suggested fixes: - Remove optional fields - Split into a multi-step form - Use conditional fields to hide irrelevant questions - Check Field Drop-off for specific problem fields
High Abandonment Rate (abandonment)
Triggers when: starts > 20 and abandonment_rate > 60%
Severity: critical
Message: "Very high abandonment rate (X%). Enable save-and-resume or simplify the form."
Suggested fixes: - Enable save-and-resume functionality - Reduce form length - Add progress indicators - Consider fullscreen mode for focused completion
High Spam Rate (spam)
Triggers when: (submissions + spam) > 10 and spam_rate > 30%
Severity: warning
Message: "High spam rate (X%). Consider enabling Turnstile, reCAPTCHA, or the honeypot field."
Suggested fixes: - Enable Cloudflare Turnstile - Enable Google reCAPTCHA v3 - Enable Math CAPTCHA - Verify the honeypot field is active
Healthy Form (healthy)
Triggers when: No issues detected and submissions > 10
Severity: info
Message: "This form is performing well with a X% completion rate."
REST API
Get Recommendations
GET /wp-json/cf/v1/analytics/{form_id}/recommendations
Response:
[
{
"type": "length",
"severity": "warning",
"message": "High abandonment: only 25% of starters complete the form. Consider reducing the number of fields or using multi-step.",
"value": 25.0
},
{
"type": "spam",
"severity": "warning",
"message": "High spam rate (35%). Consider enabling Turnstile, reCAPTCHA, or the honeypot field.",
"value": 35.0
}
]
PHP Usage
use Core_Forms\Analytics\Dashboard;
$recommendations = Dashboard::get_recommendations( $form_id );
foreach ( $recommendations as $rec ) {
printf(
"[%s] %s: %s (value: %s)\n",
$rec['severity'],
$rec['type'],
sprintf( $rec['message'], $rec['value'] ),
$rec['value']
);
}
Threshold Reference
| Metric | Threshold | Min Sample | Severity |
|---|---|---|---|
| Start rate | < 10% | 50 views | warning |
| Completion rate | < 30% | 20 starts | warning |
| Abandonment rate | > 60% | 20 starts | critical |
| Spam rate | > 30% | 10 total attempts | warning |
Recommendations only appear when there is enough data to be statistically meaningful (minimum sample sizes above).