@la-main-verte/shared-types 1.0.57 → 1.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -26
- package/package.json +16 -16
- package/src/alert.d.ts +124 -124
- package/src/apiError.d.ts +28 -28
- package/src/calendarView.d.ts +9 -9
- package/src/device.d.ts +52 -52
- package/src/fertilizer.d.ts +20 -20
- package/src/gardenMap.d.ts +105 -90
- package/src/gardenOverview.d.ts +79 -79
- package/src/home.api.d.ts +159 -159
- package/src/image.d.ts +10 -10
- package/src/index.ts +28 -27
- package/src/member.d.ts +61 -61
- package/src/note.d.ts +28 -28
- package/src/plant.d.ts +98 -85
- package/src/plantFilters.d.ts +19 -0
- package/src/plantSelection.d.ts +13 -13
- package/src/plants.api.d.ts +92 -84
- package/src/rotationGroup.d.ts +3 -0
- package/src/selection.d.ts +55 -55
- package/src/sessions.api.d.ts +134 -134
- package/src/taggedItem.d.ts +12 -12
- package/src/task.d.ts +40 -40
- package/src/users.api.d.ts +90 -90
- package/src/utmParams.d.ts +134 -134
- package/tsconfig.json +110 -110
package/src/users.api.d.ts
CHANGED
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
import type { DeviceDataI } from './device.d'
|
|
2
|
-
import type { MemberI as MemberDataI } from './member.d'
|
|
3
|
-
import type { SelectionI } from './selection.d'
|
|
4
|
-
import type { PlantI } from './plant.d'
|
|
5
|
-
|
|
6
|
-
interface RequestHeaders {
|
|
7
|
-
'x-session-token': string
|
|
8
|
-
'x-native-app-version'?: string
|
|
9
|
-
'x-application-type'?: 'react-native' | 'web'
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export namespace USERS {
|
|
13
|
-
export namespace GET {
|
|
14
|
-
export interface Request {
|
|
15
|
-
headers: RequestHeaders
|
|
16
|
-
params: {
|
|
17
|
-
scopes: ('unreadNotificationsCount' | 'coordinates')[]
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
export type Response = MemberDataI & {
|
|
21
|
-
unreadAlertsCount?: number
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export namespace DEVICES {
|
|
25
|
-
export interface Request {
|
|
26
|
-
headers: RequestHeaders
|
|
27
|
-
body: {
|
|
28
|
-
/** @see DeviceDataI */
|
|
29
|
-
userAgent?: DeviceDataI['userAgent']
|
|
30
|
-
platform?: DeviceDataI['platform']
|
|
31
|
-
version?: DeviceDataI['version']
|
|
32
|
-
model?: DeviceDataI['model']
|
|
33
|
-
name?: DeviceDataI['name']
|
|
34
|
-
appVersion?: DeviceDataI['appVersion']
|
|
35
|
-
pushKey?: DeviceDataI['pushKey']
|
|
36
|
-
apnsToken?: DeviceDataI['apnsToken']
|
|
37
|
-
fcmToken?: DeviceDataI['fcmToken']
|
|
38
|
-
webPushEndpoint?: DeviceDataI['webPushEndpoint']
|
|
39
|
-
webPushP256dh?: DeviceDataI['webPushP256dh']
|
|
40
|
-
webPushAuth?: DeviceDataI['webPushAuth']
|
|
41
|
-
webPushSubscription?: DeviceDataI['webPushSubscription']
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
export type Response = DeviceDataI
|
|
45
|
-
}
|
|
46
|
-
export namespace RECOMMENDATIONS {
|
|
47
|
-
export type ComponentType = 'PlantCarousel' | 'SelectionCarousel' | 'HeroCardsCarousel' | 'YourSelection'
|
|
48
|
-
|
|
49
|
-
interface BaseRecommendation {
|
|
50
|
-
id: string
|
|
51
|
-
componentType: ComponentType
|
|
52
|
-
title?: string
|
|
53
|
-
subtitle?: string
|
|
54
|
-
cardsVisible?: number
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface PlantCarouselRecommendation extends BaseRecommendation {
|
|
58
|
-
componentType: 'PlantCarousel'
|
|
59
|
-
selection: SelectionI & { Plants?: PlantI[] }
|
|
60
|
-
displayRanking?: boolean
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface SelectionCarouselRecommendation extends BaseRecommendation {
|
|
64
|
-
componentType: 'SelectionCarousel'
|
|
65
|
-
selections: SelectionI[]
|
|
66
|
-
displayRanking?: boolean
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export interface HeroCardsCarouselRecommendation extends BaseRecommendation {
|
|
70
|
-
componentType: 'HeroCardsCarousel'
|
|
71
|
-
selections: SelectionI[]
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export interface YourSelectionRecommendation extends BaseRecommendation {
|
|
75
|
-
componentType: 'YourSelection'
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export type RecommendationI =
|
|
79
|
-
| PlantCarouselRecommendation
|
|
80
|
-
| SelectionCarouselRecommendation
|
|
81
|
-
| HeroCardsCarouselRecommendation
|
|
82
|
-
| YourSelectionRecommendation
|
|
83
|
-
|
|
84
|
-
export interface Request {
|
|
85
|
-
headers: RequestHeaders
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export type Response = RecommendationI[]
|
|
89
|
-
}
|
|
90
|
-
}
|
|
1
|
+
import type { DeviceDataI } from './device.d'
|
|
2
|
+
import type { MemberI as MemberDataI } from './member.d'
|
|
3
|
+
import type { SelectionI } from './selection.d'
|
|
4
|
+
import type { PlantI } from './plant.d'
|
|
5
|
+
|
|
6
|
+
interface RequestHeaders {
|
|
7
|
+
'x-session-token': string
|
|
8
|
+
'x-native-app-version'?: string
|
|
9
|
+
'x-application-type'?: 'react-native' | 'web'
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export namespace USERS {
|
|
13
|
+
export namespace GET {
|
|
14
|
+
export interface Request {
|
|
15
|
+
headers: RequestHeaders
|
|
16
|
+
params: {
|
|
17
|
+
scopes: ('unreadNotificationsCount' | 'coordinates')[]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export type Response = MemberDataI & {
|
|
21
|
+
unreadAlertsCount?: number
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export namespace DEVICES {
|
|
25
|
+
export interface Request {
|
|
26
|
+
headers: RequestHeaders
|
|
27
|
+
body: {
|
|
28
|
+
/** @see DeviceDataI */
|
|
29
|
+
userAgent?: DeviceDataI['userAgent']
|
|
30
|
+
platform?: DeviceDataI['platform']
|
|
31
|
+
version?: DeviceDataI['version']
|
|
32
|
+
model?: DeviceDataI['model']
|
|
33
|
+
name?: DeviceDataI['name']
|
|
34
|
+
appVersion?: DeviceDataI['appVersion']
|
|
35
|
+
pushKey?: DeviceDataI['pushKey']
|
|
36
|
+
apnsToken?: DeviceDataI['apnsToken']
|
|
37
|
+
fcmToken?: DeviceDataI['fcmToken']
|
|
38
|
+
webPushEndpoint?: DeviceDataI['webPushEndpoint']
|
|
39
|
+
webPushP256dh?: DeviceDataI['webPushP256dh']
|
|
40
|
+
webPushAuth?: DeviceDataI['webPushAuth']
|
|
41
|
+
webPushSubscription?: DeviceDataI['webPushSubscription']
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export type Response = DeviceDataI
|
|
45
|
+
}
|
|
46
|
+
export namespace RECOMMENDATIONS {
|
|
47
|
+
export type ComponentType = 'PlantCarousel' | 'SelectionCarousel' | 'HeroCardsCarousel' | 'YourSelection'
|
|
48
|
+
|
|
49
|
+
interface BaseRecommendation {
|
|
50
|
+
id: string
|
|
51
|
+
componentType: ComponentType
|
|
52
|
+
title?: string
|
|
53
|
+
subtitle?: string
|
|
54
|
+
cardsVisible?: number
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface PlantCarouselRecommendation extends BaseRecommendation {
|
|
58
|
+
componentType: 'PlantCarousel'
|
|
59
|
+
selection: SelectionI & { Plants?: PlantI[] }
|
|
60
|
+
displayRanking?: boolean
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface SelectionCarouselRecommendation extends BaseRecommendation {
|
|
64
|
+
componentType: 'SelectionCarousel'
|
|
65
|
+
selections: SelectionI[]
|
|
66
|
+
displayRanking?: boolean
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface HeroCardsCarouselRecommendation extends BaseRecommendation {
|
|
70
|
+
componentType: 'HeroCardsCarousel'
|
|
71
|
+
selections: SelectionI[]
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface YourSelectionRecommendation extends BaseRecommendation {
|
|
75
|
+
componentType: 'YourSelection'
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export type RecommendationI =
|
|
79
|
+
| PlantCarouselRecommendation
|
|
80
|
+
| SelectionCarouselRecommendation
|
|
81
|
+
| HeroCardsCarouselRecommendation
|
|
82
|
+
| YourSelectionRecommendation
|
|
83
|
+
|
|
84
|
+
export interface Request {
|
|
85
|
+
headers: RequestHeaders
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export type Response = RecommendationI[]
|
|
89
|
+
}
|
|
90
|
+
}
|
package/src/utmParams.d.ts
CHANGED
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UTMSource - Identifies the origin platform or website that sent the traffic
|
|
3
|
-
*
|
|
4
|
-
* This type answers the question: "Where did this visitor come from?"
|
|
5
|
-
* It tracks the specific platform, website, or source that generated the traffic.
|
|
6
|
-
*
|
|
7
|
-
* Common values are included in the union type, but custom domains/values are also allowed.
|
|
8
|
-
*/
|
|
9
|
-
export type UTMSource =
|
|
10
|
-
| 'google' // Google search results or Google Ads
|
|
11
|
-
| 'facebook' // Facebook posts, ads, or shared content
|
|
12
|
-
| 'instagram' // Instagram posts, stories, or ads
|
|
13
|
-
| 'youtube' // YouTube videos, ads, or descriptions
|
|
14
|
-
| 'email' // Email newsletter campaigns
|
|
15
|
-
| 'direct' // Direct visits to the website
|
|
16
|
-
| 'Brevo' // Our newsletter software
|
|
17
|
-
| (string & {}) // Custom domains like 'semencesduportage.com' or any other string
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* UTMMedium - Identifies the marketing channel or method used
|
|
21
|
-
*
|
|
22
|
-
* This type answers the question: "What type of marketing brought this visitor?"
|
|
23
|
-
* It categorizes the marketing method, whether paid, organic, or referral-based.
|
|
24
|
-
*
|
|
25
|
-
* Common values are included in the union type, but custom values are also allowed.
|
|
26
|
-
*/
|
|
27
|
-
export type UTMMedium =
|
|
28
|
-
| 'cpc' // Cost-per-click advertising (Google Ads, Facebook Ads, etc.)
|
|
29
|
-
| 'paid' // Paid social media advertising campaigns
|
|
30
|
-
| 'organic' // Free/organic traffic (search engine results, social media posts)
|
|
31
|
-
| 'email' // Email marketing campaigns and newsletters
|
|
32
|
-
| 'push' // Push notification campaigns
|
|
33
|
-
| 'display' // Display/banner advertising
|
|
34
|
-
| 'referral' // Referral traffic from partnerships or other websites
|
|
35
|
-
| 'affiliate' // Affiliate marketing programs
|
|
36
|
-
| (string & {}) // Any other custom medium
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* UTMCampaign - Identifies the specific marketing campaign name
|
|
40
|
-
*
|
|
41
|
-
* This type answers the question: "Which specific campaign generated this traffic?"
|
|
42
|
-
* It allows you to track performance across different marketing initiatives.
|
|
43
|
-
*
|
|
44
|
-
* Examples:
|
|
45
|
-
* - 'alert_ID' - Alert based campaigns
|
|
46
|
-
* - 'summer_sale_2024' - Seasonal sales campaigns
|
|
47
|
-
* - 'new_user_discount' - User acquisition campaigns
|
|
48
|
-
* - 'retention_series' - Customer retention campaigns
|
|
49
|
-
*/
|
|
50
|
-
export type UTMCampaign = 'reel' | 'alert' | string
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* UTMTerm - Identifies the specific keywords or search terms used
|
|
54
|
-
*
|
|
55
|
-
* This type answers the question: "What keywords or terms led to this visit?"
|
|
56
|
-
* It's particularly useful for paid search campaigns and organic search tracking.
|
|
57
|
-
*
|
|
58
|
-
* Examples:
|
|
59
|
-
* - 'tomato_seeds' - Specific keyword for tomato seed searches
|
|
60
|
-
* - 'planting_guide' - Specific keyword for planting guide searches
|
|
61
|
-
* - 'organic_fertilizer' - Product-specific keywords
|
|
62
|
-
* - 'garden_planning' - Service-related keywords
|
|
63
|
-
*/
|
|
64
|
-
export type UTMTerm = string
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* UTMContent - Identifies the specific content variation or creative element
|
|
68
|
-
*
|
|
69
|
-
* This type answers the question: "Which specific content version was clicked?"
|
|
70
|
-
* It enables A/B testing and creative performance tracking.
|
|
71
|
-
*
|
|
72
|
-
* Examples:
|
|
73
|
-
* - 'headline_a' - Version A of a headline for A/B testing
|
|
74
|
-
* - 'image_garden_1' - Specific image used in the campaign
|
|
75
|
-
* - 'link_top_banner' - Specific link placement (top banner)
|
|
76
|
-
* - 'cta_button_blue' - Specific call-to-action button
|
|
77
|
-
*/
|
|
78
|
-
export type UTMContent = string
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* UTMParams - Complete interface for all UTM tracking parameters
|
|
82
|
-
*
|
|
83
|
-
* This interface combines all UTM parameters into a single object for easy
|
|
84
|
-
* tracking and analytics. All parameters are optional to allow flexible usage.
|
|
85
|
-
*
|
|
86
|
-
* COOKIE STORAGE:
|
|
87
|
-
* Each parameter is stored as a separate cookie:
|
|
88
|
-
* - utm_source
|
|
89
|
-
* - utm_medium
|
|
90
|
-
* - utm_campaign
|
|
91
|
-
* - utm_term
|
|
92
|
-
* - utm_content
|
|
93
|
-
* - fbclid
|
|
94
|
-
* - fbp
|
|
95
|
-
* - gclid
|
|
96
|
-
*
|
|
97
|
-
* Usage example:
|
|
98
|
-
* const utmParams: UTMParams = {
|
|
99
|
-
* utm_source: 'facebook',
|
|
100
|
-
* utm_medium: 'paid',
|
|
101
|
-
* utm_campaign: 'hardiness_zone',
|
|
102
|
-
* utm_term: 'tomato_seeds',
|
|
103
|
-
* utm_content: 'headline_a',
|
|
104
|
-
* fbclid: 'IwAR123...',
|
|
105
|
-
* fbp: 'fb.1.1234567890.1234567890',
|
|
106
|
-
* gclid: 'EAIaIQobChMI...'
|
|
107
|
-
* };
|
|
108
|
-
*/
|
|
109
|
-
export interface UTMParams {
|
|
110
|
-
/** Unique UUID session identifier from front-end tracking script */
|
|
111
|
-
uuid?: string
|
|
112
|
-
/** The source platform that generated the traffic */
|
|
113
|
-
utm_source?: UTMSource
|
|
114
|
-
/** The marketing channel or method used */
|
|
115
|
-
utm_medium?: UTMMedium
|
|
116
|
-
/** The specific campaign name */
|
|
117
|
-
utm_campaign?: UTMCampaign
|
|
118
|
-
/** The keywords or search terms used */
|
|
119
|
-
utm_term?: UTMTerm
|
|
120
|
-
/** The specific content variation or creative element */
|
|
121
|
-
utm_content?: UTMContent
|
|
122
|
-
/** Facebook click identifier for attribution (stored as fbclid in URL) */
|
|
123
|
-
fbclid?: string
|
|
124
|
-
/** Facebook browser ID for pixel tracking (stored as _fbp cookie) */
|
|
125
|
-
fbp?: string
|
|
126
|
-
/** Google Ads click identifier for attribution (stored as gclid in URL) */
|
|
127
|
-
gclid?: string
|
|
128
|
-
/** Google Ads click identifier for iOS/Android app to web (Google surfaces) */
|
|
129
|
-
gbraid?: string
|
|
130
|
-
/** Google Ads click identifier for iOS/Android app to web (non-Google surfaces) */
|
|
131
|
-
wbraid?: string
|
|
132
|
-
/** OLD Referral source from partners - now utm_source=jardinierparesseux */
|
|
133
|
-
referrer?: string
|
|
134
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* UTMSource - Identifies the origin platform or website that sent the traffic
|
|
3
|
+
*
|
|
4
|
+
* This type answers the question: "Where did this visitor come from?"
|
|
5
|
+
* It tracks the specific platform, website, or source that generated the traffic.
|
|
6
|
+
*
|
|
7
|
+
* Common values are included in the union type, but custom domains/values are also allowed.
|
|
8
|
+
*/
|
|
9
|
+
export type UTMSource =
|
|
10
|
+
| 'google' // Google search results or Google Ads
|
|
11
|
+
| 'facebook' // Facebook posts, ads, or shared content
|
|
12
|
+
| 'instagram' // Instagram posts, stories, or ads
|
|
13
|
+
| 'youtube' // YouTube videos, ads, or descriptions
|
|
14
|
+
| 'email' // Email newsletter campaigns
|
|
15
|
+
| 'direct' // Direct visits to the website
|
|
16
|
+
| 'Brevo' // Our newsletter software
|
|
17
|
+
| (string & {}) // Custom domains like 'semencesduportage.com' or any other string
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* UTMMedium - Identifies the marketing channel or method used
|
|
21
|
+
*
|
|
22
|
+
* This type answers the question: "What type of marketing brought this visitor?"
|
|
23
|
+
* It categorizes the marketing method, whether paid, organic, or referral-based.
|
|
24
|
+
*
|
|
25
|
+
* Common values are included in the union type, but custom values are also allowed.
|
|
26
|
+
*/
|
|
27
|
+
export type UTMMedium =
|
|
28
|
+
| 'cpc' // Cost-per-click advertising (Google Ads, Facebook Ads, etc.)
|
|
29
|
+
| 'paid' // Paid social media advertising campaigns
|
|
30
|
+
| 'organic' // Free/organic traffic (search engine results, social media posts)
|
|
31
|
+
| 'email' // Email marketing campaigns and newsletters
|
|
32
|
+
| 'push' // Push notification campaigns
|
|
33
|
+
| 'display' // Display/banner advertising
|
|
34
|
+
| 'referral' // Referral traffic from partnerships or other websites
|
|
35
|
+
| 'affiliate' // Affiliate marketing programs
|
|
36
|
+
| (string & {}) // Any other custom medium
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* UTMCampaign - Identifies the specific marketing campaign name
|
|
40
|
+
*
|
|
41
|
+
* This type answers the question: "Which specific campaign generated this traffic?"
|
|
42
|
+
* It allows you to track performance across different marketing initiatives.
|
|
43
|
+
*
|
|
44
|
+
* Examples:
|
|
45
|
+
* - 'alert_ID' - Alert based campaigns
|
|
46
|
+
* - 'summer_sale_2024' - Seasonal sales campaigns
|
|
47
|
+
* - 'new_user_discount' - User acquisition campaigns
|
|
48
|
+
* - 'retention_series' - Customer retention campaigns
|
|
49
|
+
*/
|
|
50
|
+
export type UTMCampaign = 'reel' | 'alert' | string
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* UTMTerm - Identifies the specific keywords or search terms used
|
|
54
|
+
*
|
|
55
|
+
* This type answers the question: "What keywords or terms led to this visit?"
|
|
56
|
+
* It's particularly useful for paid search campaigns and organic search tracking.
|
|
57
|
+
*
|
|
58
|
+
* Examples:
|
|
59
|
+
* - 'tomato_seeds' - Specific keyword for tomato seed searches
|
|
60
|
+
* - 'planting_guide' - Specific keyword for planting guide searches
|
|
61
|
+
* - 'organic_fertilizer' - Product-specific keywords
|
|
62
|
+
* - 'garden_planning' - Service-related keywords
|
|
63
|
+
*/
|
|
64
|
+
export type UTMTerm = string
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* UTMContent - Identifies the specific content variation or creative element
|
|
68
|
+
*
|
|
69
|
+
* This type answers the question: "Which specific content version was clicked?"
|
|
70
|
+
* It enables A/B testing and creative performance tracking.
|
|
71
|
+
*
|
|
72
|
+
* Examples:
|
|
73
|
+
* - 'headline_a' - Version A of a headline for A/B testing
|
|
74
|
+
* - 'image_garden_1' - Specific image used in the campaign
|
|
75
|
+
* - 'link_top_banner' - Specific link placement (top banner)
|
|
76
|
+
* - 'cta_button_blue' - Specific call-to-action button
|
|
77
|
+
*/
|
|
78
|
+
export type UTMContent = string
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* UTMParams - Complete interface for all UTM tracking parameters
|
|
82
|
+
*
|
|
83
|
+
* This interface combines all UTM parameters into a single object for easy
|
|
84
|
+
* tracking and analytics. All parameters are optional to allow flexible usage.
|
|
85
|
+
*
|
|
86
|
+
* COOKIE STORAGE:
|
|
87
|
+
* Each parameter is stored as a separate cookie:
|
|
88
|
+
* - utm_source
|
|
89
|
+
* - utm_medium
|
|
90
|
+
* - utm_campaign
|
|
91
|
+
* - utm_term
|
|
92
|
+
* - utm_content
|
|
93
|
+
* - fbclid
|
|
94
|
+
* - fbp
|
|
95
|
+
* - gclid
|
|
96
|
+
*
|
|
97
|
+
* Usage example:
|
|
98
|
+
* const utmParams: UTMParams = {
|
|
99
|
+
* utm_source: 'facebook',
|
|
100
|
+
* utm_medium: 'paid',
|
|
101
|
+
* utm_campaign: 'hardiness_zone',
|
|
102
|
+
* utm_term: 'tomato_seeds',
|
|
103
|
+
* utm_content: 'headline_a',
|
|
104
|
+
* fbclid: 'IwAR123...',
|
|
105
|
+
* fbp: 'fb.1.1234567890.1234567890',
|
|
106
|
+
* gclid: 'EAIaIQobChMI...'
|
|
107
|
+
* };
|
|
108
|
+
*/
|
|
109
|
+
export interface UTMParams {
|
|
110
|
+
/** Unique UUID session identifier from front-end tracking script */
|
|
111
|
+
uuid?: string
|
|
112
|
+
/** The source platform that generated the traffic */
|
|
113
|
+
utm_source?: UTMSource
|
|
114
|
+
/** The marketing channel or method used */
|
|
115
|
+
utm_medium?: UTMMedium
|
|
116
|
+
/** The specific campaign name */
|
|
117
|
+
utm_campaign?: UTMCampaign
|
|
118
|
+
/** The keywords or search terms used */
|
|
119
|
+
utm_term?: UTMTerm
|
|
120
|
+
/** The specific content variation or creative element */
|
|
121
|
+
utm_content?: UTMContent
|
|
122
|
+
/** Facebook click identifier for attribution (stored as fbclid in URL) */
|
|
123
|
+
fbclid?: string
|
|
124
|
+
/** Facebook browser ID for pixel tracking (stored as _fbp cookie) */
|
|
125
|
+
fbp?: string
|
|
126
|
+
/** Google Ads click identifier for attribution (stored as gclid in URL) */
|
|
127
|
+
gclid?: string
|
|
128
|
+
/** Google Ads click identifier for iOS/Android app to web (Google surfaces) */
|
|
129
|
+
gbraid?: string
|
|
130
|
+
/** Google Ads click identifier for iOS/Android app to web (non-Google surfaces) */
|
|
131
|
+
wbraid?: string
|
|
132
|
+
/** OLD Referral source from partners - now utm_source=jardinierparesseux */
|
|
133
|
+
referrer?: string
|
|
134
|
+
}
|