When creating links programmatically with Dub, you might want a way to associate them with a user or other identifiers in your system.
There are a few ways to do this, depending on your data structure:
| Method | Type | Description | Use case |
|---|---|---|---|
| External ID | One-to-one | A unique identifier for a link within your system. | Associating referral links with users in your system. |
| Tenant ID | One-to-many | The ID of the tenant that created the link. | Grouping all links created by a user/team in your system. |
| Tags | Many-to-many | Grouping links by tags | Organizing links by campaign / user / various for flexible, multi-dimensional filtering and reporting |
| Folders | One-to-many | The ID of the folder that contains the link. | Organizing links into hierarchical folder structures for better organization. |
External ID#
In certain scenarios, it is essential to identify links within your system. For instance, you may need to associate a link with a user without storing the Dub link ID directly in your database (e.g. for referral links).
The externalId field serves this purpose effectively. It acts as a unique identifier within your database, allowing you to associate it with a corresponding link in Dub's system.
Dub allows you to create links using an externalId and subsequently retrieve them by the same identifier.
externalId should be a unique value across your workspace. Trying to create
a link with an externalId that already exists will result in a 409 conflict
error error.
Create link with an externalId#
Here is an example of how to create a link with an externalId:
Retrieve link by externalId#
Let's see how to retrieve a link by its externalId:
Update link by externalId#
In addition to updating a link by its linkId, you can also update a link by its externalId.
Make sure to prefix the externalId with ext_. For example, if your
externalId is 12345, you should pass ext_12345.
Retrieve analytics by externalId#
You can also retrieve analytics for a link by its externalId. This is helpful for fetching the analytics for a given link using the unique identifier from your system.
Tenant ID#
The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. This is useful if you have a system that lets your users create their own links, and you want to group them on a tenant level.
Create link with tenantId#
Let's see how to create a link with a tenant ID:
Retrieve links by tenantId#
Here is how to retrieve links by tenant ID:
Retrieve analytics by tenantId#
You can retrieve analytics by tenantId by passing the tenantId prop. This is helpful for fetching the analytics for all the links under a specific tenant, or the total analytics for a tenant.
Tags#
Tags are a great way to organize your links on Dub.
With tags, you can:
- Organize your links by campaigns, clients, or any other categories you can think of.
- Filter your links by tags and get a shareable link to the filtered results.
- Filter your analytics by tags to see how your campaigns are performing.
Create link with tags#
You can use either pass the tag ID or tag name to create a link with tags.
Retrieve links by tags#
You can retrieve links by tag by tags.
Retrieve analytics by tags#
You can retrieve analytics for a tag (or multiple tags) by passing the tagIds prop. This is helpful for fetching the analytics for all the links under a specific tag, or the total analytics for a tag (or multiple tags).
Folders#
Folders are a hierarchical way to organize your links on Dub.
With folders, you can:
- Organize your links into directories
- Filter your links by folder and get a shareable link to the filtered results.
- Filter your analytics by folder to see how your campaigns are performing.
Create link with folderId#
You can use the folder ID to create a link with a folder.
Retrieve links by folderId#
Here is how to retrieve links by folder ID:
Retrieve analytics by folderId#
You can retrieve analytics by folderId by passing the folderId prop. This is helpful for fetching the analytics for all the links under a specific folder, or the total analytics for a folder.