6. Analytics API | Form Forge - Build Forms with AI in Seconds
Download Log in

6. Analytics API

Developer Guide

PRO endpoint for retrieving form performance metrics.

GET /formforge/v1/analytics/{form_id}

Get analytics stats for a form. Requires manage_options and PRO license. Returns aggregate view count, persisted submission count, and conversion rate for the last 30 days. views are counted from wp_formforge_analytics; submissions are counted from wp_formforge_submissions, not from raw submit analytics events. The returned/displayed conversion rate is capped at 100 so imported or partially tracked historical data cannot produce impossible rates above 100%.

bash
curl -s -u "admin:XXXX XXXX XXXX XXXX" 
  https://example.com/wp-json/formforge/v1/analytics/1
Response (200):
json
{
  "views": 1250,
  "submissions": 87,
  "conversion_rate": 6.96
}
Response (403 — Free plan):
json
{
  "code": "pro_only",
  "message": "Analytics requires Pro plan.",
  "data": { "status": 403 }
}

Custom Period Queries via PHP

php
// Get stats for the last 7 days
$stats = FORMFORGE_Analytics::instance()->get_stats( $form_id, 7 );

// Last 90 days
$stats = FORMFORGE_Analytics::instance()->get_stats( $form_id, 90 );

Daily Breakdown for Charting

sql
SELECT
    DATE(created_at) AS day,
    event_type,
    COUNT(*) AS count
FROM wp_formforge_analytics
WHERE form_id = 1
  AND created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY day, event_type
ORDER BY day DESC;

Building a Custom Analytics Dashboard Widget

php
add_action( 'wp_dashboard_setup', function() {
    wp_add_dashboard_widget(
        'formforge_analytics_widget',
        'Form Forge Analytics',
        function() {
            if ( ! class_exists( 'FORMFORGE_Analytics' ) ) {
                echo '<p>Form Forge PRO required.</p>';
                return;
            }

            $forms = FORMFORGE_Form_Builder::instance()->get_all();
            echo '<table style="width:100%;"><tr><th>Form</th><th>Views</th>'
               . '<th>Submissions</th><th>Rate</th></tr>';

            foreach ( $forms as $form ) {
                $stats = FORMFORGE_Analytics::instance()->get_stats( $form->id, 30 );
                printf(
                    '<tr><td>%s</td><td>%d</td><td>%d</td><td>%.1f%%</td></tr>',
                    esc_html( $form->title ),
                    $stats['views'],
                    $stats['submissions'],
                    $stats['conversion_rate']
                );
            }
            echo '</table>';
        }
    );
} );

Forge AI Assistant Online

Hi! I'm the Form Forge AI assistant. Ask me anything about the plugin — setup, features, troubleshooting, or development.

Just now
Powered by Forge AI · Browse docs