Skip to content
Commercial redistribution

Install the FXMacroData redistribution pixel

Commercial Redistribution is fully self-service across websites, Telegram, newsletters, apps, communities, and other customer-facing display channels. Buy the add-on online and launch under the published terms without emailing FXMacroData or signing a separate agreement. Websites use the redistribution pixel for automatic audience measurement. Apps, bots, and assistants report their audience from your backend. Newsletters and private channels report recipients, while public feeds declare followers. Every surface contributes audience blocks to one account-level add-on quantity.

Billing meter

$10/month per audience block

Billing starts at one block whatever your audience size. A block covers 100 measured users or recipients, or 1,000 public-feed followers.

Trial

14 days

The trial measures the same audience quantity used at conversion.

Activation

Immediate self-service

No email, sales call, separate agreement, application, quote, manual review, or lead time.

Install checklist

  1. 1. Register your first distribution surface when you add the licence, then add any further website and non-web surfaces in API Management.
  2. 2. Load the generated script on each data page, or once in an SPA layout using exposure mode.
  3. 3. Add the visible FXMacroData attribution link, or use auto-inject mode.
  4. 4. Keep the API key on your server, never in browser code.
  5. 5. For websites, load the site once and confirm API Management marks the pixel active.
  6. 6. For apps and bots, report the audience from your backend. For newsletters and communities, keep the subscriber count current.

Commercial Redistribution is governed by the Commercial Redistribution Terms, including the server-side key requirement, no marketplace resale, and no API mirroring. The add-on does not change API request limits; the underlying Individual or Enterprise plan sets the request allowance.

All display channels are self-service: registering any surface enables access immediately. Websites and web apps then use automatic pixel measurement. Mobile apps, desktop apps, extensions, bots, and assistants meter from your backend with the audience endpoint. Newsletters, channels, and communities report a subscriber count.

Install guide for your channel

Every distribution channel has its own install page covering the one meter that applies to it, which is the fastest way to be sure you are following the right steps. Browse the install guides, or use the two full references below.

1. Register every website domain

Adding Commercial Redistribution asks for the first distribution surface before checkout, so the licence always starts against a known destination and access is enabled straight away. To add more domains afterwards, open API Management and register every other website domain that will display FXMacroData-powered data. You can add as many domains as you need, and adding a domain does not create a separate licence fee.

Non-web surfaces: register, then meter or report

In API Management, add each mobile app, desktop app, browser extension, Telegram or Discord bot, Slack app, AI assistant, email newsletter, community, or other display surface. There is no pixel, no bot check, no manual review, and no approval queue: registering the surface enables access immediately. How the audience is measured then depends on the kind of channel.

Apps, bots, and assistants

Your backend reports one scrambled reference per unique person, per billing period, to POST /partner-meter/v1/audience. Repeats are free. This is the accurate path for a surface that has no browser, and it is only for those surfaces. A website or web app stays on the pixel even when your server knows exactly who signed in: the endpoint accepts reports against a registered non-web surface and rejects anything else.

App and bot meter guide - endpoint reference plus iOS, Android, React Native, Flutter, MAUI, Unity, Telegram, Discord, Slack, and server-framework recipes.

Newsletters, channels, and communities

Nobody can count who read a broadcast, so these report a subscriber count instead: either from a scheduled job with "report_type": "roster", or typed into API Management. Social feeds are priced on declared follower reach.

A typed-in figure still works for any surface you have not instrumented yet: enter the additional unique people reached during the billing period, excluding anyone already counted by the website pixel or by a backend report. Whichever route you use, every surface feeds one combined total, and that total determines the USD 10-per-100-user quantity.

Authenticated channels also state a declared audience when they are registered. It is not a billing input - billing uses what is measured - but the licence requires the figure on record.

2. Install the pixel where the data appears

For a conventional site, load the generated script on every page that displays FXMacroData data or derived output. It does not need to load on unrelated account, legal, profile, or marketing pages. For a single-page app, place it once in the global layout and use exposure mode so only the relevant data modules count toward the measured audience.

<script
  async
  src="https://fxmacrodata.com/static/js/fxmacrodata-pixel.js"
></script>

The script creates an anonymous browser identifier, records data-page and app-route exposure, sends a lightweight heartbeat after 15 seconds, and captures attribution-link clicks. Billing is based on the combined measured non-bot audience across all registered domains. You do not send customer account data to use the meter.

For single-page apps where only some sections display FXMacroData-powered output, add data-fxmd-meter-mode="exposure" to the script and mark the visible sections as metered modules. In exposure mode, loading the app shell verifies the pixel, but billing starts from module exposure events.

3. Put it in the right framework file

The goal is simple: the pixel must load once on every public page where your product can render FXMacroData-powered data. Common placements are below; the pixel integration guide has a copy-paste recipe for each one, and for another thirty platforms.

HTML, Flask, Django, Rails, PHP

Paste the script and attribution into the shared base layout or footer partial used by all pages.

React, Vite, Vue, Svelte

Paste the script into index.html and the attribution into the persistent app shell or footer component. If only some panels use FXMacroData, use exposure mode and mark those panels with data-fxmd-module.

Next.js app router

Add the script in the root app/layout document and the attribution in the root layout body or shared footer.

Webflow, Framer, no-code builders

Add the script to global custom code before </body> and add the attribution link to the global footer.

4. Mark React and SPA exposures

Do not mount and unmount the pixel script for each React tab. Install the pixel once, then tell the meter when a user can actually see a section powered by FXMacroData. Exposure mode does not require separate routes or a full page reload. The pixel deduplicates repeated views client-side and billing is based on unique non-bot users in each billing period, not view count.

<script
  async
  src="https://fxmacrodata.com/static/js/fxmacrodata-pixel.js"
  data-fxmd-meter-mode="exposure"
></script>

Automatic visible-section tracking

<section data-fxmd-metered data-fxmd-module="calendar">
  <CalendarPanel />
</section>

Explicit React hook

useEffect(() => {
  if (activeSection === "calendar") {
    const pixel = window.FXMacroDataPixel || { q: [] };
    if (pixel.trackModule) {
      pixel.trackModule("calendar");
    } else {
      pixel.q.push(["trackModule", "calendar"]);
      window.FXMacroDataPixel = pixel;
    }
  }
}, [activeSection]);

Use stable module names such as calendar, cot, macro_non_usd, news, widgets, or reports. The module name is used for diagnostics and auditability; the invoice still uses unique measured users.

5. Show attribution with a linkback

Redistribution requires visible attribution where FXMacroData-powered data appears. Add the generated link in your footer, data table area, chart footer, or dashboard shell, or use this minimum valid link:

<a
  data-fxmd-attribution
  href="https://fxmacrodata.com/"
  target="_blank"
  rel="noopener"
>
  Data powered by FXMacroData
</a>

The pixel checks whether the attribution element exists, is visible, and links to FXMacroData. API Management may add UTM parameters based on a registered domain for referral reporting, but those parameters are optional for verification. If you prefer not to add a separate link manually, API Management also provides an optional script mode that injects a small attribution link automatically.

6. Verify the installation

After installing the script and attribution, open each registered website in a normal browser. Then return to API Management. The redistribution panel shows the registered surfaces, combined users, pixel status, self-reported non-web audience, and estimated next invoice.

Expected

Pixel status becomes active. The redistribution API key was already enabled when the first surface was registered.

Browser check

The Network tab should show a request to /fxmacrodata-pixel/v1/events.

No secret check

The browser should never contain your FXMacroData API key.

7. Use the API from your server only

The redistribution API key is server-side only. Do not expose the key in browser code, client-side bundles, mobile apps, or public repositories. Your server should request FXMacroData, cache what is needed for your product, and render human-readable user-facing views.

Commercial Redistribution has no separate request allowance. Your redistribution key draws on the monthly allowance of the Individual or Enterprise subscription it is added to, under the same fixed operational guards of 300 requests/minute, 5,000 requests/hour, and 20 concurrent requests. Because your server caches and refreshes on a schedule, your call volume should track how much data you display and how often you refresh it — not how many people view it.

Commercial Redistribution does not allow creating a public API that mirrors FXMacroData, raw white-label pass-through data access, marketplace resale, a substitute dataset, or user-facing raw CSV, XLSX, or JSON downloads. These are excluded uses rather than approval-gated display channels. Read the Commercial Redistribution Terms for the full boundary.

Billing examples

Commercial Redistribution is an add-on to an active Individual or Enterprise subscription. After the trial it is billed at $10 a month per audience block, starting at one block whatever your audience size. A block covers up to 100 measured users or recipients, or up to 1,000 declared followers on a public social or broadcast feed. The blocks from automatically measured websites, backend-reported apps and bots, reported newsletters and private channels, and declared public feeds are added to one account-level quantity. Registering another surface creates no separate fee.

Billing blocks meter your audience only. They do not add or remove API requests: the request allowance is the one your underlying subscription already includes.

Example audience Audience blocks Monthly charge
Up to 100 website or app users1 block$10
300 website or app users3 blocks$30
500 newsletter recipients5 blocks$50
Up to 1,000 public-feed followers1 block$10
2,500 public-feed followers3 blocks$30
300 app users + 2,500 public-feed followers3 + 3 = 6 blocks$60