Setup guide · MRR displays

Display your Shopify app MRR on Smiirl.

Marlo turns current, currency-scoped Shopify app MRR into the small JSON response expected by a Smiirl Custom Counter—without exposing merchants, subscriptions or transactions.

Who this is for

This integration is for Shopify app founders and teams that already use Marlo reporting and want a physical, read-only view of current MRR. It works with Smiirl’s Custom Counter JSON URL mode and other displays that accept the same response.

  1. 01An active Marlo workspace
  2. 02At least one connected and successfully synced Shopify app
  3. 03A Smiirl Custom Counter with access to its settings
  4. 04Owner or admin access in Marlo
  5. 05A single app or tracked-app scope and one reporting currency

Create the Marlo URL

  1. 01Open Marlo → Settings → MRR displays
  2. 02Choose Create an MRR display URL
  3. 03Give the display a recognizable name
  4. 04Choose one Shopify app or All tracked apps
  5. 05Choose exactly one currency; Marlo never combines currencies
  6. 06Select Create display URL
  7. 07Copy the secret URL immediately—Marlo stores only its one-way hash
  8. 08Open the URL in a private browser window and confirm a JSON number appears
{"number":1200}

The number is current MRR rounded to the nearest whole unit of the selected currency. Currency symbols and merchant details are deliberately omitted.

Configure Smiirl

  1. 01Sign in to your Smiirl account and open the Custom Counter settings
  2. 02Choose Options, then JSON URL
  3. 03Paste the Marlo display URL
  4. 04Select the number attribute
  5. 05Save the Smiirl settings
  6. 06Wait for the counter to request the URL
  7. 07Return to Marlo → Settings → MRR displays and confirm Last requested has updated

Smiirl documents the same JSON URL flow and required number attribute in its Custom Counter developer guide. Marlo is not affiliated with Smiirl.

How Marlo calculates it

The endpoint reuses Marlo’s report definition: active recurring subscriptions are normalized to monthly value, excluded customers remain excluded, trials contribute zero, and the selected app and currency are applied before values are summed.

  1. 01Monthly plans use their recurring monthly amount
  2. 02Annual plans are normalized to one month
  3. 03Usage and one-time charges are not MRR
  4. 04Current active subscription state is used
  5. 05Currencies are never converted or combined
  6. 06The physical counter receives a rounded whole-currency number

Test and troubleshoot

  1. 01Use Test beside the display in Marlo to preview the current response
  2. 02If the value is stale, check Shopify sync status and run a manual sync
  3. 03If the value is zero, confirm the selected app has active paid subscriptions in that currency
  4. 04If Smiirl has never requested it, confirm JSON URL mode, the full URL and Internet access
  5. 05A 404 response means the token is invalid, revoked, unavailable to the workspace or its app is no longer in scope
  6. 06A 429 response means more than 60 requests arrived within one minute; wait and retry

Rotate, revoke or disconnect

Treat the display URL like a password. It can appear in browser history, proxy logs, screenshots or Smiirl settings. It does not expose merchant, subscription or transaction records, but anyone holding it can read the aggregate number.

  1. 01If a URL leaks, select Rotate and copy the replacement URL
  2. 02Replace the old URL in Smiirl; rotation invalidates it immediately
  3. 03To stop a display, select Revoke
  4. 04Remove the URL from Smiirl or change the counter’s data source
  5. 05Revoked records and audit events remain in Marlo so the change can be investigated

Known limitations

  1. 01One URL returns one app scope, one currency and one number
  2. 02The response has no currency symbol or decimal places
  3. 03The endpoint reflects the latest completed Marlo sync rather than Shopify in real time
  4. 04Smiirl polling frequency and hardware digit limits are controlled by Smiirl
  5. 05A URL is unavailable when the Marlo subscription is inactive or its Shopify app leaves the tracked scope

Use the method on your own data

Marlo keeps definitions beside the relevant report and detail views.

Start 7-day trial