Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,28 @@ The first step in becoming a Campaign Service Provider will be to [register with

Next, you will need to Create a Brand within the Campaign Registry CSP Portal.
The initial step for Campaign Registration will be to create a Brand.
The information entered will be submitted for Brand Identity Verification so it is important that each field is correctly filled out.
The information entered will be submitted for [Brand Identity Verification](#brand-identity-verification) so it is important that each field is correctly filled out.
This will save time and also save you from pulling your hair out later.

After creating a Brand, you will need to Create a Campaign.
A Campaign is a specific use case of your Brand that gives more information on the content that is being sent.
A Campaign can only be created once the Brand has passed identity verification.

Although the creation of a Brand and Campaign can be done through the CSP Campaign Registry Portal, you are also able to automate this process through the usage of the
[Campaign Registry APIs](https://csp-api.campaignregistry.com/v2/restAPI).
These REST APIs can be easily incorporated into whatever environment your system is based in.

---

<Markdown src="/snippets/common/messaging/_brand-identity-verification.mdx" />

As a CSP, you initiate any of these remedies from the Brand Details page in the Campaign Registry CSP Portal, or
through the [Campaign Registry APIs](https://csp-api.campaignregistry.com/v2/restAPI). SignalWire is
not involved in this step — identity verification happens entirely between you and TCR, before the
Brand is ever associated with your SignalWire Space.

---

## Associating your Brand and Campaigns with SignalWire
Once you have created your Brands and Campaigns via The Campaign Registry Dashboard or API, first you must select SignalWire as your upstream Connectivity Partner (CNP), and then you must send Brand and Campaign information directly to SignalWire so your phone numbers can be connected to the newly registered Campaigns.
In summary, you provide specific information about the new Brand and Campaign either via Dashboard or API, we review and accept the connection request, and then our upstream Direct Connect Aggregator (DCA) vets and accepts the connection request.
Expand Down Expand Up @@ -106,6 +118,11 @@ If you prefer to use the REST API to link your Brands and Campaigns with SignalW

## DCA Election: The Final Step

<Markdown src="/snippets/common/messaging/_identity-verification-vs-dca.mdx" />

DCA election is the last step of *connecting a Campaign*, not the last step of registration overall.
It only applies once the Brand is verified and the Campaign has been loaded into your SignalWire Space.

You, like many others, may think that you should be able to start sending messages immediately upon Campaign registration.
However, something commonly overlooked is the fact that The Campaign Registry is simply a registration database that contains information for entities (such as mobile operators, DCA’s, CNP’s, and CSP’s) to reference.

Expand All @@ -126,29 +143,31 @@ SignalWire will not request DCA election until after we have been alerted that a

During DCA election vetting, the DCA will be checking to ensure there is a valid website that showcases who exactly is sending messages, the quality of the registration itself, and if the registration follows
[CTIA guidelines](https://www.ctia.org/the-wireless-industry/industry-commitments/messaging-interoperability-sms-mms).
Rejections can occur if insufficient information has been provided, and a resubmission fee of \$7.50 will be applied upon resubmission.
Rejections can occur if insufficient information has been provided, and the DCA's vetting fee is applied again upon resubmission.

---

## The Campaign Registry Fees

The movement to prevent unwanted messaging content involves a lot of engineering power and is quite costly.
This pushes some of the cost down to the individual CSPs, as broken down in the table below.
This pushes some of the cost down to the individual CSPs — see [TCR's fee schedule](https://www.campaignregistry.com/Assets/TCR%20Fees%20and%20Pricing.pdf) for the current breakdown.
Luckily, SignalWire understands that these fees are enough of a burden for you, and we do not add on any other costs to associate with us.
All of these fees will be handled between you and The Campaign Registry.


In addition to TCR's fees, our DCA (Direct Connect Aggregator, aka companies that provide direct connectivity to mobile carrier gateways for the purpose of delivering messages) has begun charging a **\$7.50 vetting fee** to cover their costs of vetting each new Campaign when they receive a new Campaign connection request.
This new vetting process has increased the registration turnaround time to a _minimum of 48 hours_.
In addition to TCR's fees, our DCA (Direct Connect Aggregator, aka companies that provide direct connectivity to mobile carrier gateways for the purpose of delivering messages) charges a **vetting fee** to cover their costs of vetting each new Campaign when they receive a new Campaign connection request.
Vetting is a manual review, so expect it to add several business days to the registration turnaround.
Providing insufficient information in the Campaign registration can cause significant delays.
If our upstream partner requires additional information, another \$7.50 re-vetting fee will be charged with each resubmission.
If our upstream partner requires additional information, the re-vetting fee will be charged with each resubmission.
You will be notified if re-vetting applies to your Campaign(s).

<Tip>
We suggest that sufficient information is provided when registering your Campaign(s).
This includes a FULL, formal description, up to 5 messaging templates, and if registering directly through SignalWire, a full description of the subscriber opt-in/opt-out process.
</Tip>

Brand fees are separate from the Campaign and DCA fees above. Every Brand submission is billed by TCR, including each resubmission of a Brand that came back unverified, and external vetting carries its own third-party fee. If a Brand's details are already correct, [appeal the identity status](#resolving-an-unverified-brand) rather than resubmitting — repeated resubmission of correct details will fail and be billed each time.

---

## Unique Use Cases
Expand All @@ -157,7 +176,7 @@ Not all Messaging use cases are as cookie-cutter as The Campaign Registry would
That is alright; there are avenues created to address this.

If your campaign cannot be accurately placed in any specific use case, there are two solutions to allow unique use cases through either a _Mixed_ use case or a _Low Volume Mixed_ use case.
The low volume mixed use case only costs \$1.50 per month.
The low volume mixed use case carries the lowest monthly Campaign fee — see [TCR's fee schedule](https://www.campaignregistry.com/Assets/TCR%20Fees%20and%20Pricing.pdf) for current rates.
It works great if you do not exceed 15,000 messages/ month and do not exceed 75 transactions per minute.

<Info>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ If you're using an application platform to send messages to the customers, **reg
Registering with the Campaign Registry is mandatory for **all 10DLC traffic to US numbers**.
</Warning>

Brands registering with The Campaign Registry will have their legal company name, legal company address, and EIN/Tax ID checked against multiple databases, resulting in either a **Verified** or **Unverified** status. Any brand marked Unverified can update their details and resubmit to The Campaign Registry. Each submission incurs a `$4` charge.
Brands registering with The Campaign Registry will have their legal company name, legal company address, and EIN/Tax ID checked against multiple databases, resulting in either a **Verified** or **Unverified** Identity Status. Campaigns cannot be registered against an Unverified Brand. Depending on why verification failed, you can correct the details and resubmit, appeal the identity status with supporting documentation, or request external vetting — see [Brand Identity Verification](/docs/platform/messaging/campaign-registry/registration#brand-identity-verification). Each submission incurs a registration fee.

Given the way that each brand is viewed, every brand that is registered must have a **unique EIN**. This means that no two brands may share the same EIN or you will risk damaging your companies trust score.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ SignalWire 10DLC phone numbers to send messages to US numbers, the answer is
yes. Here's how you'll do it:

1. Add a payment method if you do not already have one set for your project.
2. Create a [Brand](#creating-a-new-brand). Make sure your information is correct. Each submission incurs a $4 charge.
2. Create a [Brand](#creating-a-new-brand). Make sure your information is correct. Each submission incurs a registration fee.
3. Register a [Campaign](#campaigns). Include as much detail as possible. There is a monthly fee for each Campaign that varies by use case. You will be charged the monthly fee for the first 3 months up front (as there is a 3 month minimum commitment), and you will not be charged again until the 4th month your Campaign is in use.
4. Assign [Phone Numbers](#campaign-phone-numbers) to your Campaign. For a brand new campaign, this process can take up to 24 hours, so do not be alarmed if you see a "failed" or "pending" status for a number in that time period.

Expand Down Expand Up @@ -80,8 +80,11 @@ To learn more about what a CSP is, and how to get a `self-registered` CSP ID, se

A Brand is an overall project with which TCR will associate a set of campaigns,
numbers, and messages. In this tab, you will see your current Brands and their
status. The status will either be _Pending_ if it is still being reviewed or
_Completed_ if the review is complete and you are ready to add campaigns.
state:

- **Pending** (`pending`) — the submission is still being processed.
- **Completed** (`completed`) — [identity verification](#brand-identity-verification) passed and you are ready to add Campaigns.
- **Unverified** (`unverified`) — identity verification did not pass. See [Resolving an unverified Brand](#resolving-an-unverified-brand).

### Details of an existing brand

Expand Down Expand Up @@ -120,17 +123,35 @@ Each Brand should have a unique EIN, or you will risk damaging your trust score.

![Brand creation success page](/assets/images/dashboard/campaign-registry/sms/TCR-wizard-2.webp)

TCR will check all of your information against multiple databases and return a status of _Verified_ or _Unverified_. Brand details can only be edited and resubmitted for a Brand in an _Unverified_ status. Your Campaign Registration Specialist will assist you if resubmission is required.
TCR will check all of your information against multiple databases and return an Identity Status.
Brand details can only be edited and resubmitted for a Brand in an `unverified` state. Your Campaign
Registration Specialist will assist you if resubmission is required.

**Each submission incurs a $4 charge.**
**Each submission incurs a registration fee.**

---

<Markdown src="/snippets/common/messaging/_brand-identity-verification.mdx" />

For Managed Brands, SignalWire files appeals and vetting requests with TCR on your behalf. Open a
Support Ticket using the **`?`** icon in the top right of your Dashboard, tell us which option you
want, and attach your supporting documentation.

SignalWire surfaces the verification outcome as the Brand's state: `pending` while the submission
is processing, `completed` once identity verification passes, and `unverified` when it does not. If
you set a `status_callback_url` on the Brand, SignalWire sends a `brand_activated` event when the
Brand reaches `completed` and a `brand_unverified` event when verification fails. See the
[10DLC status callback](/docs/apis/rest/campaign-registry/webhooks/ten-dlc-status-callback)
reference.

---

## Campaigns

![Messaging Campaigns page](/assets/images/dashboard/campaign-registry/sms/campaigns.webp)

After your Brand is verified, you can add Campaigns. The simplest way to
Once your Brand reaches the `completed` state, you can add Campaigns — they cannot be
created for a Brand that is `pending` or `unverified`. The simplest way to
describe a Campaign is a unique use case. For example, if you send marketing
messages and also send two-factor authentication messages, that would represent
two different use cases and, therefore, two different Campaigns. Some businesses
Expand Down Expand Up @@ -187,6 +208,8 @@ pending, but they can not be put to use until the registration process is
complete with **both The Campaign Registry and our upstream DCA partners** who
provide the connection between your sent messages and the carriers.

<Markdown src="/snippets/common/messaging/_identity-verification-vs-dca.mdx" />

## Campaign Phone Numbers

The last step to setting up messaging is assigning your SignalWire phone numbers
Expand Down
52 changes: 52 additions & 0 deletions fern/snippets/common/messaging/_brand-identity-verification.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{/* Shared component: Brand Identity Verification — statuses, failure modes, and remedies */}

## Brand Identity Verification

When a Brand is submitted, The Campaign Registry automatically validates the **EIN**, **Brand Legal
Name**, and **EIN Issuing Country** against independent third-party identity data sources. The
result is the Brand's Identity Status:

| Identity Status | What it means |
|---|---|
| **Verified** | Brand identity was confirmed. Campaigns can now be registered. |
| **Unverified** | The Brand could not be matched against third-party records. |

A Brand whose submission is still processing shows as pending. That is an interim label, not a
verification result.

<Warning>
Campaigns cannot be created for a Brand that has not passed identity verification. This is the
first gate — every later step, including DCA election, is blocked until the Brand is verified.
</Warning>

### Why a Brand comes back unverified

The most common cause is a mismatch between the Brand Legal Name and the EIN as filed with the
federal government — a DBA or marketing name entered in the legal name field, a typo in the EIN, or
the wrong EIN Issuing Country.

A Brand can also come back unverified when every field is correct:

- **A recently issued EIN.** New EINs take time to propagate into the third-party datasets TCR
checks. Until they do, a correct EIN will not match.
- **Non-US entities.** TCR's initial verification is frequently insufficient for entities outside
the US, and international Brands return unverified at a high rate.
- **Non-profits.** A 501(c) organization may verify while its Tax Exempt Status — 501(c)(3), (4),
(5), or (6) — fails to resolve.

### Resolving an unverified Brand

There are three paths. Correct any inaccurate Brand details *before* resubmitting or appealing.

1. **Correct the details and resubmit.** Use this when something was genuinely wrong. Every
resubmission is billed as a new Brand registration, so appeal instead if the details are
already correct — resubmitting unchanged or still-inaccurate details will fail again.
2. **File an identity status appeal with supporting documentation.** Use this when the details are
already correct — for example a recently issued EIN that has not yet propagated. Attach the IRS
CP 575 EIN confirmation letter or equivalent formation documentation. An appeal is also the
expected path for international Brands and for a 501(c) Tax Exempt Status that will not resolve.
3. **Request or import external vetting.** A standard vet by an approved vetting provider
establishes identity independently, and may also unlock additional MNO classes and throughput
tiers. Third-party vetting fees apply.

None of these are instant. Allow several business days for an appeal or a vet to come back.
15 changes: 15 additions & 0 deletions fern/snippets/common/messaging/_identity-verification-vs-dca.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{/* Shared component: Brand Identity Verification vs. DCA election — two separate gates */}

<Note title="Identity verification and DCA election are separate gates">

**Brand Identity Verification** validates *who the Brand is*. It runs at The Campaign Registry,
against third-party identity data, and must pass before a Campaign can exist at all.

**DCA election** validates *what the Campaign sends*. It runs after the Campaign is loaded into
your SignalWire Space, and reviews the website, use case, message content, and CTIA compliance.

The two are run by different parties and have different remedies. Entity documentation such as an
IRS CP 575 belongs in a TCR identity status appeal — the DCA never reviews it. If your Brand is
unverified, DCA election is not the gate you are waiting on.

</Note>
Loading