Integrations
How platform tracking, Discord, creator links, referral attribution and AI assistants connect to ViewsBase.
ViewsBase tracks TikTok, Instagram and YouTube Shorts posts. Discord, creator links, referral attribution and AI assistants are optional.
Platforms and refresh schedule
Live posts refresh on your plan's schedule: every 24 hours on Starter, 12 on Growth and 6 on Scale and Agency. YouTube Shorts refresh once a day on every plan. Scale and up can refresh one post on demand. Watched accounts are checked about every 6 hours, and YouTube channels once a day. A post's amount is set when its counting window closes and then does not change.
Creators verify a handle with a code in their bio (YouTube: channel description). ViewsBase reads public post data from verified handles and from the links you add. Creators never connect a login. See Tracking Posts and Creator Accounts.
Discord
The ViewsBase bot lets creators submit posts and lets your team send payment requests. See Discord Bot.
Creator links
In Settings → Links and referrals → Creator links, choose how each creator gets a link in bio:
- Off: creators get a link only if you add one to their profile.
- dub.co: each new creator gets a short link on your dub.co domain, named after their handle. You add your dub.co API key, domain and destination URL.
- Link template: each new creator gets your link with their handle filled in, for example
https://yourapp.com/download/?referral={handle}.
Generated links carry standard UTM tags. The creator sees their link in the campaign page.
AI assistants and the API
Connect ChatGPT or Claude through the hosted MCP server. See ChatGPT and Claude. It comes with Growth and up. The old CLI is retired. API tokens created before keep working until they expire or you revoke them. See Legacy API.
Referral attribution
Referral attribution is optional and off by default. Turn it on in Settings → Links and referrals → Referral attribution. Each active creator can then claim one six-character code in the creator app. Codes use only letters and numbers, are unique in the campaign and cannot be changed after the creator confirms. The Referrals tab shows code uses, trial starts, paying customers, revenue and commission for each creator, and Unpaid commission: commission earned minus commission paid. To record a payment you made outside ViewsBase, choose Mark referral paid on the creator's row.
Your app sends events to the campaign's referral webhook with a campaign key. The campaign key and commission rate are not shown in Settings in this version. Email team@viewsbase.com to get the webhook address, key and commission rate set up.
Send every request with:
Authorization: Bearer YOUR_SECRET
Content-Type: application/jsonRecord a code use
{
"event_id": "code-use-01JZ...",
"type": "code_used",
"external_user_id": "customer-123",
"code": "LOOKS1",
"occurred_at": "2026-07-17T12:00:00Z"
}install is also accepted as the type. Unknown codes deliberately return the
same 200 {"accepted":true} response as known codes, but create no creator
credit. The first valid code recorded for a customer wins.
Record a trial start
{
"event_id": "trial-01JZ...",
"type": "trial",
"external_user_id": "customer-123",
"product_id": "pro_monthly",
"environment": "production",
"occurred_at": "2026-07-17T12:03:00Z"
}Trial events add to the referral funnel but never to revenue or commission.
Record revenue
{
"event_id": "purchase-01JZ...",
"type": "purchase",
"external_user_id": "customer-123",
"amount": 9.99,
"currency": "USD",
"transaction_id": "store-transaction-456",
"product_id": "pro_monthly",
"environment": "production",
"occurred_at": "2026-07-17T12:05:00Z"
}Paid revenue types are purchase, renewal, refund, and refund_reversal.
Amounts are positive in the request; ViewsBase subtracts refunds. Event IDs
must be stable and unique because retries are idempotent. Commission applies
to each customer's first purchase only — send renewal for recurring
charges so total revenue stays accurate, but renewals are never commissioned. Refunds and refund
reversals must use the original purchase's transaction_id, so an adjustment
is only credited when its purchase was credited. Revenue is shown separately
by currency rather than converted with an assumed exchange rate.
The creator portal preserves that source-currency view. The admin Referrals tab also provides one deliberately approximate USD planning total using fixed reference rates; it is not a settlement or accounting exchange rate.
ViewsBase safely holds revenue that arrives before its code-use event and reconciles it later. A transaction that occurred before the first valid code-use is never credited, even if its webhook arrives afterward.
The external_user_id must be the same stable, non-email customer ID on the
code-use and revenue events. If RevenueCat is the purchase source, set its App
User ID to that value before purchase or ensure the value appears in the
event's aliases.
RevenueCat
RevenueCat can post its native webhook payload directly to the ViewsBase URL.
In RevenueCat Integrations → Webhooks, use Bearer YOUR_SECRET as the
complete Authorization header value, select the one app represented by the
ViewsBase campaign, and send production events. Enable only:
INITIAL_PURCHASERENEWALNON_RENEWING_PURCHASECANCELLATIONREFUND_REVERSED
ViewsBase records trial starts, initial purchases, renewals, and non-renewing purchases,
but commission covers only each customer's first paid transaction. A
RENEWAL with is_trial_conversion counts as that first purchase (the trial
start itself carries no money); ordinary renewals add to tracked revenue
without earning commission, so RENEWAL must stay enabled.
CANCELLATION subtracts revenue only when cancel_reason is
CUSTOMER_SUPPORT; an ordinary unsubscribe is not a refund.
REFUND_REVERSED adds a previously refunded App Store transaction back.
RevenueCat Paywall events, expiration, billing issue, product change, and
ordinary cancellation do not affect referral totals and do not need to be
enabled.
RevenueCat sends the native { "api_version": "1.0", "event": { ... } }
payload automatically; the app backend should not construct it. ViewsBase uses
the gross price_in_purchased_currency and currency, falling back to the
documented USD price. Provider events without usable identity, environment,
or transaction fields are accepted without changing totals. Trial starts
appear in the referral funnel but add no revenue. No RevenueCat API key is
stored in ViewsBase.
RevenueCat only emits a subscription refund webhook when the latest subscription period is refunded. Refunds of older periods require separate financial reconciliation if lifetime net revenue must be exact.
AppsFlyer (optional)
AppsFlyer Push API can send install or deep-link attribution directly to the
same endpoint. Configure its Authorization value as Bearer YOUR_SECRET, set
customer_user_id to the shared customer identity, and put the creator code
in referral_code, af_sub1, deep_link_value, or JSON event_value.
AppsFlyer is optional and never supplies referral revenue in ViewsBase; RevenueCat or the generic revenue contract remains the source of truth. This avoids counting the same purchase twice. AppsFlyer's dashboard test message does not include the configured Authorization header, so validate with a real event or a direct authenticated request.
Errors
A post can fail to update when it is private, deleted, rate-limited or not available from the platform. The failure shows on that post or account only. Other rows keep working. Posts show Retry view update. A failed watched account keeps its error and stays saved. A paused watched account is not checked until you resume it.