Skip to main content

Migrating from the RB2B Agency Program to an OEM Account

Overview

Moving to OEM replaces your agency's separate sub-accounts with one OEM account: one credit pool, one script, one webhook, and one bill. For each client, you delete its domain from its sub-account, add it to your OEM account through the API, and swap the standard script for the OEM script.

In the Agency Program, RB2B keeps each client's data separate. In OEM, every client's visitors go to your one webhook, and you route them to the right end customer.


What changes

Agency Program

OEM Account (unified account)

Accounts

Parent account plus one sub-account per client

One account for all clients

Credits

Separate per sub-account; can't be pooled

One shared credit pool

Billing

One subscription per sub-account

One bill, reconciled each billing cycle

Script

Standard script in each sub-account

One OEM script, with a customer_id per client

Domains

Added in each sub-account

Added only through the OEM API

Data delivery

Integrations set up per sub-account

One webhook for all clients; you route by customer_id or domain

Usage

Each sub-account's dashboard

The credit_usage API endpoint


Before you start

Deleting a domain stops tracking immediately and can't be undone, so set up the OEM side first.

  • Get your OEM account. Book a time with the RB2B team. Because your agency account is active, we create a new account and convert it to OEM. It needs its own email address, since every RB2B account requires a unique one.

  • Know each client's setup: its full domains (for example, sub.client.com), its renewal date, and where its standard script is installed (site <head>, CMS template, or tag manager).

  • Choose a customer_id for each client. It comes back in every webhook payload and tells you which client a visitor belongs to.

  • Export any lead history you want to keep before you cancel a sub-account.


Instructions

Do steps 1 to 3 once, then repeat steps 4 to 8 for each client.

Step 1: Add a credit card

Your OEM account delivers no visitor profiles until a valid card is on file. In the OEM dashboard, go to Account Details > Billing & Invoices and add one.

Step 2: Copy your API key

In your OEM dashboard, find the API Key card and click Copy. Contact support if the key is ever exposed.

Step 3: Set up your webhook

RB2B sends every page view from every client domain to your webhook in real time.

  1. Build an endpoint that routes each record to the right end customer, using customer_id or the domain in Captured URL.

  2. Put a long, random token in the URL path, for example https://your-app.com/webhooks/rb2b/<random-token.> RB2B doesn't sign payloads, so the URL acts as the shared secret.

  3. In the OEM dashboard, add the URL under Webhook Configuration.

Step 4: Delete the domain from the client's sub-account

A domain can belong to only one active account, so release it first. Navigate into the client's sub-account, go to Script (app.rb2b.com/script), click the trash can next to the domain, then click Yes, Delete.

Delete the domain. Don't just cancel the sub-account. A canceled account that collected data in the past 30 days still holds its domains.

Step 5: Remove the standard script

The standard and OEM scripts can't run on the same site. If both are installed, tracking fails. Check the site <head>, the CMS template, and any tag manager.

Step 6: Add the domain through the API

Domains not added through the API are ignored, even with the script installed.

Step 7: Install the OEM script

In the OEM dashboard, copy the script from Script Setup > View Script Installation. Add it site-wide in the <head> without changing the script URL, and set the client's customer_id above it:

Step 8: Cancel the sub-account

Cancel the sub-account's subscription before its next renewal so you don't pay twice. Contact support about refunds or prorating.


Per-client checklist

  • ☐ Domains and renewal date confirmed; customer_id chosen

  • ☐ Lead history exported, if needed

  • ☐ Domain deleted from the sub-account (not just canceled)

  • ☐ Standard script removed from the site, CMS template, and tag manager

  • ☐ Domain added through the API and confirmed with GET /api/v1/domains

  • ☐ OEM script installed site-wide with the client's customer_id

  • ☐ Records arriving at the webhook with the right customer_id

  • ☐ Sub-account canceled before its next renewal


Frequently asked questions

Do I have to move every client at once?

No. Move them one at a time. Clients on sub-accounts keep working until you move them.

My OEM account can't add a client's domain. What should I check?

Confirm the domain was deleted from the sub-account, not just that the sub-account was canceled. If it was deleted, contact support to check whether another active account holds it.

The OEM script is installed, but no data is coming through. Why?

Check that the domain was added through the API, the standard script is gone, a valid card is on file, and your webhook URL is set.

Can I keep some clients on sub-accounts and move others to OEM?

Yes. Just never run the standard and OEM scripts on the same site.

How do I remove a client from OEM later?

Send POST https://app.rb2b.com/api/v1/delete_domain with the domain in the request body. A success returns "domain_deleted": true.


Related articles

Did this answer your question?