# Ian's Handy Guide to Branch Links 😎
## Terminology
There are two main types of branch links:
- **General Links** _just_ take you into the app.
- **Shopper Links** take you into the app _and_ automatically link you with a certain shopper.
---
### How do I create a General Link?
Go [here][1] (Branch Dashboard -> Quick Links -> Create). Add whatever UTM info you want and then create the link. Boom.
---
### How do I create a Shopper Link?
Follow the above steps for creating a general link. You will also need the following info:
| Key | Explanation |
| -------- | -------- |
| shopperId | The shopper's ID in the dumpling cloud. Ex: `eaf42bd6-77d1-4160-afce-b7f511990c61` |
| webPath | The unique part of the shopper's webpage URL. Ex: `ians` |
| linkType | This **MUST** be set to "referral" |
You can add this data to the link in one of two ways:
#### In the Branch dashboard

#### Manually
Add the data as _query parameters_ to the end of the Branch link. For example, the following link:
```
https://dumpling.app.link/123abc
```
would become:
```
https://dumpling.app.link/123abc?shopperId=eaf42bd6-77d1-4160-afce-b7f511990c61&webPath=ians&linkType=referral
```
---
### How do I override data for an existing link?
Let's say you wanted to take my shopper link, and re-use it for an Instagram ad. Normally, you would set the **Channel**, **Campaign**, and **Feature** of the link in Branch. With an existing link, you can _override_ these values using query parameters, like so:
```
https://dumpling.app.link/123abc?utm_campaign=ians-ig-campaign
```
When someone clicks this link, the **Campaign** will be "ians-ig-campaign". You can see the mapping of Branch analytics tags to query parameters here:

You can also attach arbitrary custom parameters to a link and they will be passed through to the analytics events.
**IMPORTANT:** If you have a **Shopper Link**, do _NOT_ override the `linkType` parameter, or it will not link clients with that shopper.
[1]: https://dashboard.branch.io/quick-links/qlc/define