GET
/
analytics
require 'dub'


s = ::OpenApiSDK::Dub.new
s.config_security(
  ::OpenApiSDK::Shared::Security.new(
    token: "DUB_API_KEY",
  )
)


req = ::OpenApiSDK::Operations::RetrieveAnalyticsRequest.new(
  timezone: "America/New_York",
  city: "New York",
  device: "Desktop",
  browser: "Chrome",
  os: "Windows",
  referer: "google.com",
  referer_url: "https://dub.co/blog",
)
    
res = s.analytics.retrieve(req)

if ! res.one_of.nil?
  # handle response
end
{
  "clicks": 0,
  "leads": 0,
  "sales": 0,
  "saleAmount": 0
}

Analytics endpoints require a Pro plan subscription or higher.

Authorizations

Authorization
string
header
required

Default authentication mechanism

Query Parameters

event
enum<string>
default:
clicks

The type of event to retrieve analytics for. Defaults to clicks.

Available options:
clicks,
leads,
sales,
composite
groupBy
enum<string>
default:
count

The parameter to group the analytics data points by. Defaults to count if undefined.

Available options:
count,
timeseries,
continents,
regions,
countries,
cities,
devices,
browsers,
os,
trigger,
triggers,
referers,
referer_urls,
top_links,
top_urls,
utm_sources,
utm_mediums,
utm_campaigns,
utm_terms,
utm_contents
domain
string

The domain to filter analytics for.

key
string

The short link slug.

The unique ID of the short link on Dub.

externalId
string

This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.

tenantId
string

The ID of the tenant that created the link inside your system.

programId
string

The ID of the program to retrieve analytics for.

partnerId
string

The ID of the partner to retrieve analytics for.

interval
enum<string>

The interval to retrieve analytics for. If undefined, defaults to 24h.

Available options:
24h,
7d,
30d,
90d,
1y,
mtd,
qtd,
ytd,
all,
all_unfiltered
start
string

The start date and time when to retrieve analytics from. Takes precedence over interval.

end
string

The end date and time when to retrieve analytics from. If not provided, defaults to the current date. Takes precedence over interval.

timezone
string
default:
UTC

The IANA time zone code for aligning timeseries granularity (e.g. America/New_York). Defaults to UTC.

country
enum<string>

The country to retrieve analytics for.

Available options:
AF,
AL,
DZ,
AS,
AD,
AO,
AI,
AQ,
AG,
AR,
AM,
AW,
AU,
AT,
AZ,
BS,
BH,
BD,
BB,
BY,
BE,
BZ,
BJ,
BM,
BT,
BO,
BA,
BW,
BV,
BR,
IO,
BN,
BG,
BF,
BI,
KH,
CM,
CA,
CV,
KY,
CF,
TD,
CL,
CN,
CX,
CC,
CO,
KM,
CG,
CD,
CK,
CR,
CI,
HR,
CU,
CY,
CZ,
DK,
DJ,
DM,
DO,
EC,
EG,
SV,
GQ,
ER,
EE,
ET,
FK,
FO,
FJ,
FI,
FR,
GF,
PF,
TF,
GA,
GM,
GE,
DE,
GH,
GI,
GR,
GL,
GD,
GP,
GU,
GT,
GN,
GW,
GY,
HT,
HM,
VA,
HN,
HK,
HU,
IS,
IN,
ID,
IR,
IQ,
IE,
IL,
IT,
JM,
JP,
JO,
KZ,
KE,
KI,
KP,
KR,
KW,
KG,
LA,
LV,
LB,
LS,
LR,
LY,
LI,
LT,
LU,
MO,
MG,
MW,
MY,
MV,
ML,
MT,
MH,
MQ,
MR,
MU,
YT,
MX,
FM,
MD,
MC,
MN,
MS,
MA,
MZ,
MM,
NA,
NR,
NP,
NL,
NC,
NZ,
NI,
NE,
NG,
NU,
NF,
MK,
MP,
NO,
OM,
PK,
PW,
PS,
PA,
PG,
PY,
PE,
PH,
PN,
PL,
PT,
PR,
QA,
RE,
RO,
RU,
RW,
SH,
KN,
LC,
PM,
VC,
WS,
SM,
ST,
SA,
SN,
SC,
SL,
SG,
SK,
SI,
SB,
SO,
ZA,
GS,
ES,
LK,
SD,
SR,
SJ,
SZ,
SE,
CH,
SY,
TW,
TJ,
TZ,
TH,
TL,
TG,
TK,
TO,
TT,
TN,
TR,
TM,
TC,
TV,
UG,
UA,
AE,
GB,
US,
UM,
UY,
UZ,
VU,
VE,
VN,
VG,
VI,
WF,
EH,
YE,
ZM,
ZW,
AX,
BQ,
CW,
GG,
IM,
JE,
ME,
BL,
MF,
RS,
SX,
SS,
XK
city
string

The city to retrieve analytics for.

region
string

The ISO 3166-2 region code to retrieve analytics for.

continent
enum<string>

The continent to retrieve analytics for.

Available options:
AF,
AN,
AS,
EU,
NA,
OC,
SA
device
string

The device to retrieve analytics for.

browser
string

The browser to retrieve analytics for.

os
string

The OS to retrieve analytics for.

trigger
enum<string>

The trigger to retrieve analytics for. If undefined, return both QR and link clicks.

Available options:
qr,
link
referer
string

The referer to retrieve analytics for.

refererUrl
string

The full referer URL to retrieve analytics for.

url
string

The URL to retrieve analytics for.

tagId
string
deprecated

Deprecated. Use tagIds instead. The tag ID to retrieve analytics for.

tagIds

The tag IDs to retrieve analytics for.

folderId
string

The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links.

qr
boolean
deprecated

Deprecated. Use the trigger field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both.

root
boolean

Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both.

utm_source
string | null

The UTM source of the short link.

Maximum length: 190
utm_medium
string | null

The UTM medium of the short link.

Maximum length: 190
utm_campaign
string | null

The UTM campaign of the short link.

Maximum length: 190
utm_term
string | null

The UTM term of the short link.

Maximum length: 190
utm_content
string | null

The UTM content of the short link.

Maximum length: 190

Response

200
application/json
Analytics data
clicks
number
default:
0
required

The total number of clicks

leads
number
default:
0
required

The total number of leads

sales
number
default:
0
required

The total number of sales

saleAmount
number
default:
0
required

The total amount of sales, in cents