Skip to content

Add Fathom Analytics Event Tracking to Downloads #460

@SableRaf

Description

@SableRaf

Problem

We would like to track downloads of Processing for each platform (Linux, macOS (Intel), macOS (Apple Silicon), Raspberry Pi (32-bit), Raspberry Pi (64-bit), Windows) using Fathom Analytics.

Proposed Solution

We can achieve this by adding Fathom's trackGoal method to the event handler for each download button. This method will send an event to Fathom each time a user downloads Processing for a specific platform.

Here are the Fathom event IDs for each platform:

  • Download Processing Linux: HHYWFK7G
  • Download Processing macOS (Apple Silicon): IWSPGL5F
  • Download Processing macOS (Intel): VQUBVEQR
  • Download Processing Raspberry Pi (32-bit): ZKSBBVWD
  • Download Processing Raspberry Pi (64-bit): TXVODVYO
  • Download Processing Windows: CIMDWXJV

Details

The click handler for the download buttons should be modified to include the Fathom event tracking code. Here's an example of what the handler might look like:

const handleDownload = (platform) => {
  switch (platform) {
    case 'Windows':
      fathom.trackGoal('CIMDWXJV', 0);
      break;
    case 'macOS (Intel)':
      fathom.trackGoal('VQUBVEQR', 0);
      break;
    case 'macOS (Apple Silicon)':
      fathom.trackGoal('IWSPGL5F', 0);
      break;
    case 'Linux':
      fathom.trackGoal('HHYWFK7G', 0);
      break;
    case 'Raspberry Pi (32-bit)':
      fathom.trackGoal('ZKSBBVWD', 0);
      break;
    case 'Raspberry Pi (64-bit)':
      fathom.trackGoal('TXVODVYO', 0);
      break;
    default:
      console.error(`Unsupported platform: ${platform}`);
  }
  // code to start the download goes here
};

In this example, handleDownload should replace the existing click handler for the download buttons. The actual code to start the download, which is not shown in this example, should replace // code to start the download goes here.

This is just an example and may need to be adapted to fit the actual structure and logic of our website.

References

Fathom documentation on creating and using events: https://usefathom.com/docs/features/events

Notes

This issue was partially AI generated and may not be 100% accurate

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions