10DLC Compliance and Audits

Businesses must comply with carrier guidelines for 10DLC texting campaigns. Maintaining compliant traffic means adhering to best practices and ensuring prohibited content remains absent from campaigns.

The Campaign Registry (TCR) and telecom carriers conduct audits of 10DLC traffic to confirm adherence to usage and traffic standards. They also look for deviations from a campaign's stated purpose or content.

Carriers notify Plivo about any discrepancies between observed traffic and campaign registration information. In response, Plivo evaluates various aspects to determine campaign compliance.

  • Use case explanation
  • Message flow and call-to-action structure
  • Sample message content
  • Brand and website details
  • Opt-in particulars
  • Terms and Conditions and privacy policy page availability

If a carrier notifies Plivo of issues with a campaign, we may deactivate it in accordance with the audit findings. In more severe instances, carriers may opt to directly suspend the campaign; if that happens we’ll let you know.

When you send text messages using a number associated with a suspended campaign, the Messaging API will return the error “src number is not mapped to a campaign.”

To check the status of a 10DLC campaign, go to Messaging > 10DLC on the console, or use our 10DLC APIs to access information about campaign status and other details. Here’s sample output from a query on campaign status.

API and Sample Response

GET https://api.plivo.com/v1/Account/{auth_id}/10dlc/Campaign/{campaign_id}/


    "api_id": "<api id is populated here>",

    "campaign": {

        "campaign_id": "<Campaign ID populated here>",

        "registration_status": "EXPIRED",

        "reseller_id": "",

        "brand_id": "<Brand ID populated here>",

        "usecase": "OTP"




What happens if your campaign is suspended

When a carrier suspends a campaign (and in some cases a brand too) after an audit, Plivo is notified only after the deactivation, without any prior communication, and there’s no way to appeal the decision. In such cases, Plivo cannot allow the customer to re-create the suspended campaign. The same holds true when Plivo suspends a campaign.

Maintaining compliance and preventing campaign violations

To avoid traffic violations and prevent campaign suspension, be sure to adhere to these guidelines.

  • Control your spam rate, as a surge in spam attracts carrier attention and may trigger an audit. You can assess spam rates by retrieving message detail records (MDR) from the console. Go to Messages > Logs and apply a filter using error code 30, and compare that to the total number of MDRs to get the spam rate. Try to keep the spam percentage at less than 1% on a weekly basis.
  • Inbound messages should pertain strictly to campaign-related use cases. Messages must include either opt-in keywords or associated keywords like HELP or STOP. Monitor inbound messages to identify instances of phrases like "Stop this" or "I didn't sign up for this," as these may suggest messages were sent to unintended recipients.
  • Send messages only to users who have opted in. Sending messages to parties who have not opted in is a severe violation. Suspicious traffic can prompt carriers to demand opt-in proof for compliance verification. In conjunction with carrier audits, end users have the option to report unsolicited messages through "7726" (“spam”) complaints. Such complaints are handled with the utmost seriousness.
  • Deviating from the registered use case or from the provided samples can trigger audits. For instance, a campaign that’s designated for the OTP/2FA use case but delivers marketing content is in violation. Likewise, messages must precisely align with registered templates, and no deviation from the templates is permissible. Supply accurate details during registration, emphasizing content relevant to the brand.

By adhering to these guidelines, businesses can maintain compliance, minimize the risk of audits, and ensure smooth operation.


Was this article helpful?
0 out of 0 found this helpful
Didn’t find what you are looking for? Create new ticket