@walkeros/server-destination-reddit 4.1.0-next-1778668930820 → 4.1.0
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/CHANGELOG.md +122 -0
- package/README.md +33 -113
- package/dist/walkerOS.json +1 -1
- package/package.json +6 -5
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# @walkeros/server-destination-reddit
|
|
2
|
+
|
|
3
|
+
## 4.1.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [e155ff8]
|
|
8
|
+
- Updated dependencies [e800974]
|
|
9
|
+
- Updated dependencies [e155ff8]
|
|
10
|
+
- Updated dependencies [1a8f2d7]
|
|
11
|
+
- Updated dependencies [1a8f2d7]
|
|
12
|
+
- Updated dependencies [b276173]
|
|
13
|
+
- Updated dependencies [dd9f5ad]
|
|
14
|
+
- Updated dependencies [c60ef35]
|
|
15
|
+
- Updated dependencies [adeebea]
|
|
16
|
+
- Updated dependencies [13aaeaa]
|
|
17
|
+
- Updated dependencies [e800974]
|
|
18
|
+
- Updated dependencies [adeebea]
|
|
19
|
+
- Updated dependencies [e800974]
|
|
20
|
+
- Updated dependencies [e800974]
|
|
21
|
+
- Updated dependencies [058f7ed]
|
|
22
|
+
- Updated dependencies [28a8ac2]
|
|
23
|
+
- Updated dependencies [fd6076e]
|
|
24
|
+
- @walkeros/core@4.1.0
|
|
25
|
+
- @walkeros/server-core@4.1.0
|
|
26
|
+
|
|
27
|
+
## 4.0.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [a6a0ea7]
|
|
32
|
+
- @walkeros/core@4.0.2
|
|
33
|
+
- @walkeros/server-core@4.0.2
|
|
34
|
+
|
|
35
|
+
## 4.0.1
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [381dfe7]
|
|
40
|
+
- Updated dependencies [1524275]
|
|
41
|
+
- Updated dependencies [03d7055]
|
|
42
|
+
- @walkeros/core@4.0.1
|
|
43
|
+
- @walkeros/server-core@4.0.1
|
|
44
|
+
|
|
45
|
+
## 4.0.0
|
|
46
|
+
|
|
47
|
+
### Major Changes
|
|
48
|
+
|
|
49
|
+
- 93ea9c4: Event model v4: breaking changes to the `Event`, `Source`, and
|
|
50
|
+
`Entity` shapes.
|
|
51
|
+
- `event.id` is now a W3C span_id (16 lowercase hex chars), generated by the
|
|
52
|
+
collector. Reference: W3C Trace Context (W3C Recommendation, January 2020).
|
|
53
|
+
- `event.version`, `event.group`, `event.count` are removed.
|
|
54
|
+
- `source.type` is now the source kind (e.g. `browser`, `gtag`, `mcp`, `cli`).
|
|
55
|
+
New `source.platform` holds the runtime (`web` | `server` | `app` | ...).
|
|
56
|
+
- `source.id` and `source.previous_id` are removed.
|
|
57
|
+
- Browser source now sets `source.url` and `source.referrer`.
|
|
58
|
+
- MCP source sets `source.tool` per emission. CLI source sets
|
|
59
|
+
`source.command`.
|
|
60
|
+
- `Entity.nested` and `Entity.context` are now optional. Root `event.nested`
|
|
61
|
+
and `event.context` remain required.
|
|
62
|
+
- Each source self-registers via TypeScript module augmentation of `SourceMap`
|
|
63
|
+
in `@walkeros/core`.
|
|
64
|
+
- App-side coordination (`/workspaces/developer/app`) is a follow-up plan, not
|
|
65
|
+
part of this release. Telemetry from v4 CLI/MCP will not validate against
|
|
66
|
+
the existing app schema until that follow-up ships.
|
|
67
|
+
- `Mapping.Rule.skip` is renamed to `Mapping.Rule.silent`. Customer flow.json
|
|
68
|
+
configs using `skip: true` in mapping rules must rename to `silent: true`.
|
|
69
|
+
Hard cut: no legacy alias, the field is gone.
|
|
70
|
+
|
|
71
|
+
### Patch Changes
|
|
72
|
+
|
|
73
|
+
- Updated dependencies [93ea9c4]
|
|
74
|
+
- Updated dependencies [465775c]
|
|
75
|
+
- Updated dependencies [942a7fe]
|
|
76
|
+
- Updated dependencies [cfc7469]
|
|
77
|
+
- Updated dependencies [8e06b1f]
|
|
78
|
+
- Updated dependencies [3d50dd6]
|
|
79
|
+
- Updated dependencies [1ef33d9]
|
|
80
|
+
- @walkeros/core@4.0.0
|
|
81
|
+
- @walkeros/server-core@4.0.0
|
|
82
|
+
|
|
83
|
+
## 3.4.2
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- @walkeros/core@3.4.2
|
|
88
|
+
- @walkeros/server-core@3.4.2
|
|
89
|
+
|
|
90
|
+
## 3.4.1
|
|
91
|
+
|
|
92
|
+
### Patch Changes
|
|
93
|
+
|
|
94
|
+
- Updated dependencies [12adf24]
|
|
95
|
+
- Updated dependencies [75aa26b]
|
|
96
|
+
- @walkeros/core@3.4.1
|
|
97
|
+
- @walkeros/server-core@3.4.1
|
|
98
|
+
|
|
99
|
+
## 3.4.0
|
|
100
|
+
|
|
101
|
+
### Minor Changes
|
|
102
|
+
|
|
103
|
+
- 74940cc: Add Reddit Conversions API server destination
|
|
104
|
+
- 724f97e: Migrate every step example in every walkerOS package to the
|
|
105
|
+
standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
|
|
106
|
+
Every step example's `out` is now an array of effect tuples whose first
|
|
107
|
+
element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
|
|
108
|
+
`'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
|
|
109
|
+
`'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
|
|
110
|
+
`'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
|
|
111
|
+
as the callable; transformer examples use the reserved `'return'` keyword;
|
|
112
|
+
store examples use store-operation callables (`'get'`, `'set'`). Tests capture
|
|
113
|
+
real calls on each component's spy and assert against `example.out` directly —
|
|
114
|
+
the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
|
|
115
|
+
(emptied; plan #3 removes it structurally).
|
|
116
|
+
|
|
117
|
+
### Patch Changes
|
|
118
|
+
|
|
119
|
+
- Updated dependencies [74940cc]
|
|
120
|
+
- Updated dependencies [525f5d9]
|
|
121
|
+
- @walkeros/core@3.4.0
|
|
122
|
+
- @walkeros/server-core@3.4.0
|
package/README.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
|
+
<p align="left">
|
|
2
|
+
<a href="https://www.walkeros.io">
|
|
3
|
+
<img alt="walkerOS" title="walkerOS" src="https://www.walkeros.io/img/walkerOS_logo.svg" width="256px"/>
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
1
7
|
# @walkeros/server-destination-reddit
|
|
2
8
|
|
|
3
|
-
Server-side Reddit Conversions API
|
|
9
|
+
Server-side event delivery to Reddit's Conversions API v2.0 for enhanced
|
|
10
|
+
conversion tracking, bypassing browser limitations and improving match quality
|
|
11
|
+
for ad optimization.
|
|
12
|
+
|
|
13
|
+
[Documentation](https://www.walkeros.io/docs/destinations/server/reddit) •
|
|
14
|
+
[NPM Package](https://www.npmjs.com/package/@walkeros/server-destination-reddit)
|
|
15
|
+
•
|
|
16
|
+
[Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/destinations/reddit)
|
|
4
17
|
|
|
5
18
|
## Installation
|
|
6
19
|
|
|
@@ -8,110 +21,18 @@ Server-side Reddit Conversions API destination for walkerOS.
|
|
|
8
21
|
npm install @walkeros/server-destination-reddit
|
|
9
22
|
```
|
|
10
23
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
```json
|
|
14
|
-
{
|
|
15
|
-
"destinations": {
|
|
16
|
-
"reddit": {
|
|
17
|
-
"package": "@walkeros/server-destination-reddit",
|
|
18
|
-
"config": {
|
|
19
|
-
"settings": {
|
|
20
|
-
"accessToken": "rdt_...",
|
|
21
|
-
"pixelId": "a2_abcdef123456"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Settings
|
|
30
|
-
|
|
31
|
-
| Setting | Type | Required | Default | Description |
|
|
32
|
-
| --------------- | -------- | -------- | --------------------------------------------------------- | ---------------------------------------------------- |
|
|
33
|
-
| `accessToken` | string | yes | - | Reddit Conversion Access Token (Bearer auth) |
|
|
34
|
-
| `pixelId` | string | yes | - | Reddit Pixel ID (appended as API path) |
|
|
35
|
-
| `action_source` | string | no | - | Event source: `WEBSITE`, `APP`, `PHYSICAL_STORE` |
|
|
36
|
-
| `doNotHash` | string[] | no | - | User fields to skip hashing |
|
|
37
|
-
| `test_mode` | boolean | no | `false` | Enable test mode (top-level boolean in request body) |
|
|
38
|
-
| `url` | string | no | `https://ads-api.reddit.com/api/v2.0/conversions/events/` | Custom API base URL |
|
|
39
|
-
| `user_data` | object | no | - | Default user field mapping applied to all events |
|
|
40
|
-
|
|
41
|
-
## Event Mapping
|
|
42
|
-
|
|
43
|
-
Reddit uses a rigid taxonomy. Map walkerOS events to a standard `tracking_type`:
|
|
44
|
-
|
|
45
|
-
| walkerOS Event | Reddit tracking_type |
|
|
46
|
-
| ------------------ | -------------------- |
|
|
47
|
-
| `page view` | `PageVisit` |
|
|
48
|
-
| `product view` | `ViewContent` |
|
|
49
|
-
| `site search` | `Search` |
|
|
50
|
-
| `product add` | `AddToCart` |
|
|
51
|
-
| `product wishlist` | `AddToWishlist` |
|
|
52
|
-
| `order complete` | `Purchase` |
|
|
53
|
-
| `form submit` | `Lead` |
|
|
54
|
-
| `user signup` | `SignUp` |
|
|
55
|
-
|
|
56
|
-
Any non-standard name becomes
|
|
57
|
-
`{ tracking_type: 'Custom', custom_event_name: '<name>' }` automatically.
|
|
58
|
-
|
|
59
|
-
## User Data
|
|
60
|
-
|
|
61
|
-
### Hashed Fields (SHA-256)
|
|
62
|
-
|
|
63
|
-
| Field | Key | Description |
|
|
64
|
-
| ----------- | ------------- | ------------------------------ |
|
|
65
|
-
| Email | `email` | Lowercase, trimmed |
|
|
66
|
-
| External ID | `external_id` | Advertiser user identifier |
|
|
67
|
-
| IP address | `ip_address` | Hashed (unlike Meta/Pinterest) |
|
|
68
|
-
| User agent | `user_agent` | Hashed (unlike Meta/Pinterest) |
|
|
69
|
-
| IDFA | `idfa` | iOS advertising identifier |
|
|
70
|
-
| AAID | `aaid` | Android advertising identifier |
|
|
71
|
-
|
|
72
|
-
### Pass-through Fields (not hashed)
|
|
73
|
-
|
|
74
|
-
| Field | Key |
|
|
75
|
-
| ----------------- | ------------------------- |
|
|
76
|
-
| UUID | `uuid` |
|
|
77
|
-
| Opt-out | `opt_out` |
|
|
78
|
-
| Screen dimensions | `screen_dimensions` |
|
|
79
|
-
| Data processing | `data_processing_options` |
|
|
80
|
-
|
|
81
|
-
Use `doNotHash` to skip hashing for pre-hashed values.
|
|
82
|
-
|
|
83
|
-
## event_metadata
|
|
84
|
-
|
|
85
|
-
Conversion details (value, currency, products, etc.) are nested under
|
|
86
|
-
`event_metadata` (Reddit's equivalent of Meta's `custom_data`). The destination
|
|
87
|
-
automatically sets `event_metadata.conversion_id` to `event.id` for
|
|
88
|
-
deduplication with the Reddit Pixel.
|
|
24
|
+
## Quick start
|
|
89
25
|
|
|
90
26
|
```json
|
|
91
27
|
{
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"loop": [
|
|
101
|
-
"nested",
|
|
102
|
-
{
|
|
103
|
-
"condition": { "$code": "e => e.entity === 'product'" },
|
|
104
|
-
"map": {
|
|
105
|
-
"id": "data.id",
|
|
106
|
-
"name": "data.name",
|
|
107
|
-
"category": {
|
|
108
|
-
"key": "data.category",
|
|
109
|
-
"value": "uncategorized"
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
]
|
|
114
|
-
}
|
|
28
|
+
"version": 4,
|
|
29
|
+
"flows": {
|
|
30
|
+
"default": {
|
|
31
|
+
"config": { "platform": "server" },
|
|
32
|
+
"destinations": {
|
|
33
|
+
"reddit": {
|
|
34
|
+
"package": "@walkeros/server-destination-reddit",
|
|
35
|
+
"config": {}
|
|
115
36
|
}
|
|
116
37
|
}
|
|
117
38
|
}
|
|
@@ -119,19 +40,18 @@ deduplication with the Reddit Pixel.
|
|
|
119
40
|
}
|
|
120
41
|
```
|
|
121
42
|
|
|
122
|
-
##
|
|
43
|
+
## Documentation
|
|
123
44
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
because both sides share the same walkerOS `event.id`.
|
|
45
|
+
Full configuration, mapping, and examples live in the docs:
|
|
46
|
+
**https://www.walkeros.io/docs/destinations/server/reddit**
|
|
127
47
|
|
|
128
|
-
##
|
|
48
|
+
## Contribute
|
|
129
49
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
50
|
+
Feel free to contribute by submitting an
|
|
51
|
+
[issue](https://github.com/elbwalker/walkerOS/issues), starting a
|
|
52
|
+
[discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
|
|
53
|
+
[contact](https://calendly.com/elb-alexander/30min).
|
|
133
54
|
|
|
134
|
-
##
|
|
55
|
+
## License
|
|
135
56
|
|
|
136
|
-
|
|
137
|
-
- [walkerOS documentation](https://www.walkeros.io/docs/destinations/server/reddit)
|
|
57
|
+
MIT
|
package/dist/walkerOS.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/server-destination-reddit",
|
|
3
3
|
"description": "Reddit server destination for walkerOS",
|
|
4
|
-
"version": "4.1.0
|
|
4
|
+
"version": "4.1.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
|
-
"dist/**"
|
|
25
|
+
"dist/**",
|
|
26
|
+
"CHANGELOG.md"
|
|
26
27
|
],
|
|
27
28
|
"scripts": {
|
|
28
29
|
"build": "tsup --silent",
|
|
@@ -34,11 +35,11 @@
|
|
|
34
35
|
"update": "npx npm-check-updates -u && npm update"
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"@walkeros/core": "4.1.0
|
|
38
|
-
"@walkeros/server-core": "4.1.0
|
|
38
|
+
"@walkeros/core": "4.1.0",
|
|
39
|
+
"@walkeros/server-core": "4.1.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@walkeros/collector": "4.1.0
|
|
42
|
+
"@walkeros/collector": "4.1.0"
|
|
42
43
|
},
|
|
43
44
|
"repository": {
|
|
44
45
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|