Goals & Conversions

Goals allow you to track specific actions that users take on your website, such as signing up for a newsletter, completing a purchase, or viewing a specific page. Every plan has them.

Goals vs. Top Pages — what's the difference?

The Top Pages panel already shows how many visits each page receives. So why do you need Goals?

  • Conversion rate: Top Pages tells you “/thank-you had 89 visitors”. Goals tells you “8.5% of all your site visitors completed the form”. That percentage is what matters when you optimize.
  • Custom events: Not every important action is a page visit. Button clicks, video plays, form submissions, file downloads — these don't appear in Top Pages at all. Goals can track them via custom events.
  • Focus: Top Pages shows every page sorted by traffic. Goals shows only the actions you care about, with dedicated conversion metrics.

Types of Goals

  • Pageview Goals: Triggered when a user visits a specific URL path.Example: /thank-you or /checkout/success
  • Custom Event Goals: Triggered when a specific custom event is sent via JavaScript or a data attribute.Example: signup_button_click or video_played

How to Configure Goals

  1. Navigate to your site's dashboard and click on the Goals button in the header.
  2. Fill in the Goal Name (e.g., “Newsletter Signup”).
  3. Select the Type (Pageview or Custom Event).
  4. Enter the Target:
    • For Pageview: enter the exact path (e.g., /thank-you). The path must match exactly — /thank-you will not match /thank-you/, and the query string does not count.
    • For Custom Event: enter the event name you used in your code (track('name')) or in a data-sd-goal attribute.
  5. Click Create Goal.

Only the account owner creates and deletes goals. Readers invited to the team see them, and their conversions, but cannot change them.

Tracking Custom Events

If you chose “Custom Event”, you need to trigger it from your website code using the SimpleData script:

// Example: Track when a user clicks a button
<button onClick={() => simpleAnalytics.track('signup_button_click')}>
  Sign Up
</button>

// Example: Track a form submission
document.querySelector('form').addEventListener('submit', () => {
  simpleAnalytics.track('contact_form_submitted');
});

Without writing code: data attributes

Add data-sd-goal to any element and the script sends the custom event for you. Buttons, links and other elements count when clicked; a <form> counts once, when it is submitted. Any data-sd-goal-* attribute is sent as a property.

<button data-sd-goal="signup_click" data-sd-goal-plan="pro">
  Start free trial
</button>

<form data-sd-goal="newsletter" data-sd-goal-source="footer">
  ...
</form>

Then create a Custom Event goal with the same name (signup_click). Each data-sd-goal-* attribute becomes a property: see Properties below for the limits. Do not put personal data such as emails in these attributes.

Properties

Each custom event can carry up to 20 properties: the data-sd-goal-* attributes above, or the second argument of track().

window.simpleAnalytics.track('signup_click', { plan: 'pro', source: 'pricing' });

In the Conversions panel, open a custom-event goal to see each property with its values, the visitors and the events. Every plan has them, and so do the API (GET /v1/sites/{site}/goals/{goal}/properties) and the MCP server (get_goal_properties). A property can also filter the whole dashboard (Filter → Event property): see Filters and segments in Reading the dashboard.

What is kept: up to 20 properties per event, names up to 100 characters and values up to 200 (longer ones are shortened). Numbers and true/false are kept as text. Only custom events carry properties.

No personal data: a value that looks like an email address is not stored, and neither should names, phone numbers or account ids be sent. Whoever can see your dashboard, API key or MCP connection can read every value.

Viewing Conversion Data

Once configured, conversion data will appear in the Conversions panel on your main dashboard. You'll see:

  • Conversions: number of times the goal was completed.
  • Unique Conv.: number of distinct visitors who completed the goal.
  • CR (conversion rate): unique conversions as a percentage of all the visitors in the period.

A goal can also be a step of a funnel, to see where visitors drop off on the way to it (Pro): see Funnels.

On Pro, a goal that usually converts and goes 24 hours without any conversion sends you an email: see Email alerts.

Example

Your site had 1,047 unique visitors this month. You created a pageview goal for /thank-you:

GoalConversionsUniqueRate
Form completed142898.50%

89 unique visitors out of 1,047 total reached /thank-you — an 8.50% conversion rate. This metric is not available in Top Pages.