# End-to-end A2P 10DLC setup: brand, campaign, numbers, messaging service
Getting US long-code messaging live has an order of operations. Do it out of order and you wait twice.
## Procedure
1. Register the Brand: the sending company's identity, verified. Nothing else can proceed without it.
2. Register the Campaign under the brand. Declare the use case type honestly (marketing, verification, care). Standard vs low-volume mixed sets your throughput. Submit for vetting and wait; vetting is manual.
3. While vetting runs, buy or provision the long-code numbers you will use.
4. Create a Messaging Service and add the numbers to its sender pool. Link the approved campaign to the service.
5. Turn on Sticky Sender and configure a fallback sender on the service.
6. Test end to end with test credentials and magic numbers first, then one live send to a verified number, then the full list.
7. Record the Brand SID, Campaign SID, and Messaging Service SID together in your runbook. When 30007s appear later, these three IDs are the first things you check.
## Ordering traps
- Buying numbers before the campaign is approved is fine; sending on them before approval is not.
- Linking numbers to the campaign happens through the Messaging Service, not on the number itself. Numbers floating outside the service are unregistered traffic.
- Toll-free numbers need their own separate verification; do not assume the 10DLC campaign covers them.
This is the skill an agent should read before writing a single line of 10DLC integration code. The code is the easy part.