@happyvertical/smrt-marketing 0.57.36 → 0.57.37
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/AGENTS.md +8 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +187 -21
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +316 -25
- package/dist/models/Campaign.d.ts.map +1 -1
- package/dist/models/CampaignChannel.d.ts.map +1 -1
- package/dist/models/CampaignMetricSnapshot.d.ts.map +1 -1
- package/dist/recipes.d.ts +168 -0
- package/dist/recipes.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +266 -33
- package/package.json +7 -7
package/dist/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"timestamp": 0,
|
|
4
4
|
"packageName": "@happyvertical/smrt-marketing",
|
|
5
|
-
"packageVersion": "0.57.
|
|
5
|
+
"packageVersion": "0.57.37",
|
|
6
6
|
"objects": {
|
|
7
7
|
"@happyvertical/smrt-marketing:CampaignChannelCollection": {
|
|
8
8
|
"name": "campaignchannelcollection",
|
|
@@ -826,7 +826,9 @@
|
|
|
826
826
|
"type": "crossPackageRef",
|
|
827
827
|
"required": false,
|
|
828
828
|
"related": "@happyvertical/smrt-commerce:Customer",
|
|
829
|
+
"description": "The customer this campaign is run for, if any.",
|
|
829
830
|
"_meta": {
|
|
831
|
+
"description": "The customer this campaign is run for, if any.",
|
|
830
832
|
"validate": true,
|
|
831
833
|
"nullable": true
|
|
832
834
|
}
|
|
@@ -835,45 +837,73 @@
|
|
|
835
837
|
"type": "text",
|
|
836
838
|
"required": true,
|
|
837
839
|
"default": "",
|
|
840
|
+
"description": "A short reference of your own for this campaign, kept the same once it is in use.",
|
|
838
841
|
"_meta": {
|
|
839
|
-
"required": true
|
|
842
|
+
"required": true,
|
|
843
|
+
"description": "A short reference of your own for this campaign, kept the same once it is in use."
|
|
840
844
|
}
|
|
841
845
|
},
|
|
842
846
|
"name": {
|
|
843
847
|
"type": "text",
|
|
844
848
|
"required": true,
|
|
845
849
|
"default": "",
|
|
850
|
+
"description": "What the campaign is called.",
|
|
846
851
|
"_meta": {
|
|
847
|
-
"required": true
|
|
852
|
+
"required": true,
|
|
853
|
+
"description": "What the campaign is called."
|
|
848
854
|
}
|
|
849
855
|
},
|
|
850
856
|
"objective": {
|
|
851
857
|
"type": "text",
|
|
852
858
|
"required": false,
|
|
853
|
-
"default": ""
|
|
859
|
+
"default": "",
|
|
860
|
+
"description": "What the campaign is meant to achieve, such as awareness or new leads.",
|
|
861
|
+
"_meta": {
|
|
862
|
+
"description": "What the campaign is meant to achieve, such as awareness or new leads."
|
|
863
|
+
}
|
|
854
864
|
},
|
|
855
865
|
"status": {
|
|
856
866
|
"type": "text",
|
|
857
867
|
"required": false,
|
|
858
|
-
"default": "draft"
|
|
868
|
+
"default": "draft",
|
|
869
|
+
"description": "Where the campaign stands, from draft through active to completed and archived.",
|
|
870
|
+
"_meta": {
|
|
871
|
+
"description": "Where the campaign stands, from draft through active to completed and archived."
|
|
872
|
+
}
|
|
859
873
|
},
|
|
860
874
|
"startAt": {
|
|
861
875
|
"type": "datetime",
|
|
862
|
-
"required": false
|
|
876
|
+
"required": false,
|
|
877
|
+
"description": "When the campaign starts.",
|
|
878
|
+
"_meta": {
|
|
879
|
+
"description": "When the campaign starts."
|
|
880
|
+
}
|
|
863
881
|
},
|
|
864
882
|
"endAt": {
|
|
865
883
|
"type": "datetime",
|
|
866
|
-
"required": false
|
|
884
|
+
"required": false,
|
|
885
|
+
"description": "When the campaign ends.",
|
|
886
|
+
"_meta": {
|
|
887
|
+
"description": "When the campaign ends."
|
|
888
|
+
}
|
|
867
889
|
},
|
|
868
890
|
"budgetCents": {
|
|
869
891
|
"type": "integer",
|
|
870
892
|
"required": false,
|
|
871
|
-
"default": 0
|
|
893
|
+
"default": 0,
|
|
894
|
+
"description": "The total you plan to spend on the campaign, in cents.",
|
|
895
|
+
"_meta": {
|
|
896
|
+
"description": "The total you plan to spend on the campaign, in cents."
|
|
897
|
+
}
|
|
872
898
|
},
|
|
873
899
|
"currency": {
|
|
874
900
|
"type": "text",
|
|
875
901
|
"required": false,
|
|
876
|
-
"default": "USD"
|
|
902
|
+
"default": "USD",
|
|
903
|
+
"description": "The currency every amount on this campaign is in.",
|
|
904
|
+
"_meta": {
|
|
905
|
+
"description": "The currency every amount on this campaign is in."
|
|
906
|
+
}
|
|
877
907
|
},
|
|
878
908
|
"metadata": {
|
|
879
909
|
"type": "text",
|
|
@@ -1164,7 +1194,9 @@
|
|
|
1164
1194
|
"type": "foreignKey",
|
|
1165
1195
|
"required": true,
|
|
1166
1196
|
"related": "Campaign",
|
|
1197
|
+
"description": "The campaign this channel runs for.",
|
|
1167
1198
|
"_meta": {
|
|
1199
|
+
"description": "The campaign this channel runs for.",
|
|
1168
1200
|
"required": true
|
|
1169
1201
|
}
|
|
1170
1202
|
},
|
|
@@ -1172,35 +1204,55 @@
|
|
|
1172
1204
|
"type": "text",
|
|
1173
1205
|
"required": true,
|
|
1174
1206
|
"default": "",
|
|
1207
|
+
"description": "What sort of channel this is, such as an ad group, a social post, a message, content or an event.",
|
|
1175
1208
|
"_meta": {
|
|
1176
|
-
"required": true
|
|
1209
|
+
"required": true,
|
|
1210
|
+
"description": "What sort of channel this is, such as an ad group, a social post, a message, content or an event."
|
|
1177
1211
|
}
|
|
1178
1212
|
},
|
|
1179
1213
|
"channelRef": {
|
|
1180
1214
|
"type": "text",
|
|
1181
1215
|
"required": true,
|
|
1182
1216
|
"default": "",
|
|
1217
|
+
"description": "The name or reference the channel goes by, so its results can be matched to it.",
|
|
1183
1218
|
"_meta": {
|
|
1184
|
-
"required": true
|
|
1219
|
+
"required": true,
|
|
1220
|
+
"description": "The name or reference the channel goes by, so its results can be matched to it."
|
|
1185
1221
|
}
|
|
1186
1222
|
},
|
|
1187
1223
|
"allocatedBudgetCents": {
|
|
1188
1224
|
"type": "integer",
|
|
1189
1225
|
"required": false,
|
|
1190
|
-
"default": 0
|
|
1226
|
+
"default": 0,
|
|
1227
|
+
"description": "The share of the campaign budget set aside for this channel, in cents.",
|
|
1228
|
+
"_meta": {
|
|
1229
|
+
"description": "The share of the campaign budget set aside for this channel, in cents."
|
|
1230
|
+
}
|
|
1191
1231
|
},
|
|
1192
1232
|
"startAt": {
|
|
1193
1233
|
"type": "datetime",
|
|
1194
|
-
"required": false
|
|
1234
|
+
"required": false,
|
|
1235
|
+
"description": "When this channel starts, if different from the campaign.",
|
|
1236
|
+
"_meta": {
|
|
1237
|
+
"description": "When this channel starts, if different from the campaign."
|
|
1238
|
+
}
|
|
1195
1239
|
},
|
|
1196
1240
|
"endAt": {
|
|
1197
1241
|
"type": "datetime",
|
|
1198
|
-
"required": false
|
|
1242
|
+
"required": false,
|
|
1243
|
+
"description": "When this channel ends, if different from the campaign.",
|
|
1244
|
+
"_meta": {
|
|
1245
|
+
"description": "When this channel ends, if different from the campaign."
|
|
1246
|
+
}
|
|
1199
1247
|
},
|
|
1200
1248
|
"status": {
|
|
1201
1249
|
"type": "text",
|
|
1202
1250
|
"required": false,
|
|
1203
|
-
"default": "planned"
|
|
1251
|
+
"default": "planned",
|
|
1252
|
+
"description": "Where this channel stands, from planned through active to completed or cancelled.",
|
|
1253
|
+
"_meta": {
|
|
1254
|
+
"description": "Where this channel stands, from planned through active to completed or cancelled."
|
|
1255
|
+
}
|
|
1204
1256
|
}
|
|
1205
1257
|
},
|
|
1206
1258
|
"methods": {
|
|
@@ -1419,7 +1471,9 @@
|
|
|
1419
1471
|
"type": "foreignKey",
|
|
1420
1472
|
"required": true,
|
|
1421
1473
|
"related": "Campaign",
|
|
1474
|
+
"description": "The campaign these results belong to.",
|
|
1422
1475
|
"_meta": {
|
|
1476
|
+
"description": "The campaign these results belong to.",
|
|
1423
1477
|
"required": true
|
|
1424
1478
|
}
|
|
1425
1479
|
},
|
|
@@ -1427,70 +1481,102 @@
|
|
|
1427
1481
|
"type": "foreignKey",
|
|
1428
1482
|
"required": false,
|
|
1429
1483
|
"related": "CampaignChannel",
|
|
1484
|
+
"description": "The channel these results came from. Empty when they cover the whole campaign.",
|
|
1430
1485
|
"_meta": {
|
|
1486
|
+
"description": "The channel these results came from. Empty when they cover the whole campaign.",
|
|
1431
1487
|
"nullable": true
|
|
1432
1488
|
}
|
|
1433
1489
|
},
|
|
1434
1490
|
"periodStart": {
|
|
1435
1491
|
"type": "datetime",
|
|
1436
1492
|
"required": true,
|
|
1493
|
+
"description": "The first day of the period these results cover.",
|
|
1437
1494
|
"_meta": {
|
|
1438
|
-
"required": true
|
|
1495
|
+
"required": true,
|
|
1496
|
+
"description": "The first day of the period these results cover."
|
|
1439
1497
|
}
|
|
1440
1498
|
},
|
|
1441
1499
|
"periodEnd": {
|
|
1442
1500
|
"type": "datetime",
|
|
1443
1501
|
"required": true,
|
|
1502
|
+
"description": "The last day of the period these results cover.",
|
|
1444
1503
|
"_meta": {
|
|
1445
|
-
"required": true
|
|
1504
|
+
"required": true,
|
|
1505
|
+
"description": "The last day of the period these results cover."
|
|
1446
1506
|
}
|
|
1447
1507
|
},
|
|
1448
1508
|
"spendCents": {
|
|
1449
1509
|
"type": "integer",
|
|
1450
1510
|
"required": false,
|
|
1451
|
-
"default": 0
|
|
1511
|
+
"default": 0,
|
|
1512
|
+
"description": "What was spent in the period, in cents.",
|
|
1513
|
+
"_meta": {
|
|
1514
|
+
"description": "What was spent in the period, in cents."
|
|
1515
|
+
}
|
|
1452
1516
|
},
|
|
1453
1517
|
"impressions": {
|
|
1454
1518
|
"type": "integer",
|
|
1455
1519
|
"required": false,
|
|
1456
|
-
"default": 0
|
|
1520
|
+
"default": 0,
|
|
1521
|
+
"description": "How many times the campaign was shown.",
|
|
1522
|
+
"_meta": {
|
|
1523
|
+
"description": "How many times the campaign was shown."
|
|
1524
|
+
}
|
|
1457
1525
|
},
|
|
1458
1526
|
"clicks": {
|
|
1459
1527
|
"type": "integer",
|
|
1460
1528
|
"required": false,
|
|
1461
|
-
"default": 0
|
|
1529
|
+
"default": 0,
|
|
1530
|
+
"description": "How many times someone clicked through.",
|
|
1531
|
+
"_meta": {
|
|
1532
|
+
"description": "How many times someone clicked through."
|
|
1533
|
+
}
|
|
1462
1534
|
},
|
|
1463
1535
|
"conversions": {
|
|
1464
1536
|
"type": "integer",
|
|
1465
1537
|
"required": false,
|
|
1466
|
-
"default": 0
|
|
1538
|
+
"default": 0,
|
|
1539
|
+
"description": "How many people did what the campaign asked, such as buying.",
|
|
1540
|
+
"_meta": {
|
|
1541
|
+
"description": "How many people did what the campaign asked, such as buying."
|
|
1542
|
+
}
|
|
1467
1543
|
},
|
|
1468
1544
|
"leads": {
|
|
1469
1545
|
"type": "integer",
|
|
1470
1546
|
"required": false,
|
|
1471
|
-
"default": 0
|
|
1547
|
+
"default": 0,
|
|
1548
|
+
"description": "How many new leads came in.",
|
|
1549
|
+
"_meta": {
|
|
1550
|
+
"description": "How many new leads came in."
|
|
1551
|
+
}
|
|
1472
1552
|
},
|
|
1473
1553
|
"revenueCents": {
|
|
1474
1554
|
"type": "integer",
|
|
1475
1555
|
"required": false,
|
|
1556
|
+
"description": "The sales brought in during the period, in cents, if known.",
|
|
1476
1557
|
"_meta": {
|
|
1477
|
-
"nullable": true
|
|
1558
|
+
"nullable": true,
|
|
1559
|
+
"description": "The sales brought in during the period, in cents, if known."
|
|
1478
1560
|
}
|
|
1479
1561
|
},
|
|
1480
1562
|
"source": {
|
|
1481
1563
|
"type": "text",
|
|
1482
1564
|
"required": true,
|
|
1483
1565
|
"default": "",
|
|
1566
|
+
"description": "Where these results were reported from.",
|
|
1484
1567
|
"_meta": {
|
|
1485
|
-
"required": true
|
|
1568
|
+
"required": true,
|
|
1569
|
+
"description": "Where these results were reported from."
|
|
1486
1570
|
}
|
|
1487
1571
|
},
|
|
1488
1572
|
"dedupeKey": {
|
|
1489
1573
|
"type": "text",
|
|
1490
1574
|
"required": true,
|
|
1491
1575
|
"default": "",
|
|
1576
|
+
"description": "The reference this result is filed under, so the same report is never counted twice.",
|
|
1492
1577
|
"_meta": {
|
|
1493
|
-
"required": true
|
|
1578
|
+
"required": true,
|
|
1579
|
+
"description": "The reference this result is filed under, so the same report is never counted twice."
|
|
1494
1580
|
}
|
|
1495
1581
|
}
|
|
1496
1582
|
},
|
|
@@ -1738,6 +1824,211 @@
|
|
|
1738
1824
|
}
|
|
1739
1825
|
},
|
|
1740
1826
|
"moduleType": "smrt",
|
|
1827
|
+
"recipes": [
|
|
1828
|
+
{
|
|
1829
|
+
"id": "marketing.campaigns",
|
|
1830
|
+
"className": "MarketingCampaignsRecipe",
|
|
1831
|
+
"label": "Campaigns",
|
|
1832
|
+
"summary": "Plan a marketing campaign, set its budget and dates, choose where it runs and see what it brought in.",
|
|
1833
|
+
"synonyms": [
|
|
1834
|
+
"marketing",
|
|
1835
|
+
"marketing campaigns",
|
|
1836
|
+
"promotions",
|
|
1837
|
+
"advertising",
|
|
1838
|
+
"ad campaigns",
|
|
1839
|
+
"campaign results"
|
|
1840
|
+
],
|
|
1841
|
+
"models": [
|
|
1842
|
+
"@happyvertical/smrt-marketing:Campaign",
|
|
1843
|
+
"@happyvertical/smrt-marketing:CampaignChannel",
|
|
1844
|
+
"@happyvertical/smrt-marketing:CampaignMetricSnapshot"
|
|
1845
|
+
],
|
|
1846
|
+
"nav": [
|
|
1847
|
+
{
|
|
1848
|
+
"label": "Campaigns",
|
|
1849
|
+
"model": "@happyvertical/smrt-marketing:Campaign",
|
|
1850
|
+
"icon": "tag",
|
|
1851
|
+
"description": "Every campaign, with its budget, dates and where it stands.",
|
|
1852
|
+
"noun": "campaign"
|
|
1853
|
+
},
|
|
1854
|
+
{
|
|
1855
|
+
"label": "Channels",
|
|
1856
|
+
"model": "@happyvertical/smrt-marketing:CampaignChannel",
|
|
1857
|
+
"icon": "layers",
|
|
1858
|
+
"description": "Where each campaign runs, such as an ad group or a social post, and its share of the budget.",
|
|
1859
|
+
"noun": "channel"
|
|
1860
|
+
}
|
|
1861
|
+
],
|
|
1862
|
+
"requires": [],
|
|
1863
|
+
"section": {
|
|
1864
|
+
"id": "grow",
|
|
1865
|
+
"label": "Grow",
|
|
1866
|
+
"icon": "tag",
|
|
1867
|
+
"description": "Bring in new customers and reward the people who help."
|
|
1868
|
+
},
|
|
1869
|
+
"options": {
|
|
1870
|
+
"@happyvertical/smrt-marketing:Campaign": {
|
|
1871
|
+
"fields": {
|
|
1872
|
+
"name": {
|
|
1873
|
+
"order": 1
|
|
1874
|
+
},
|
|
1875
|
+
"objective": {
|
|
1876
|
+
"order": 2
|
|
1877
|
+
},
|
|
1878
|
+
"status": {
|
|
1879
|
+
"order": 3
|
|
1880
|
+
},
|
|
1881
|
+
"startAt": {
|
|
1882
|
+
"label": "Starts",
|
|
1883
|
+
"order": 4
|
|
1884
|
+
},
|
|
1885
|
+
"endAt": {
|
|
1886
|
+
"label": "Ends",
|
|
1887
|
+
"order": 5
|
|
1888
|
+
},
|
|
1889
|
+
"budgetCents": {
|
|
1890
|
+
"label": "Budget (cents)",
|
|
1891
|
+
"order": 6
|
|
1892
|
+
},
|
|
1893
|
+
"currency": {
|
|
1894
|
+
"order": 7
|
|
1895
|
+
},
|
|
1896
|
+
"customerId": {
|
|
1897
|
+
"label": "Customer",
|
|
1898
|
+
"visibility": "advanced"
|
|
1899
|
+
},
|
|
1900
|
+
"campaignKey": {
|
|
1901
|
+
"label": "Reference",
|
|
1902
|
+
"visibility": "advanced"
|
|
1903
|
+
},
|
|
1904
|
+
"tenantId": {
|
|
1905
|
+
"visibility": "hidden"
|
|
1906
|
+
},
|
|
1907
|
+
"metadata": {
|
|
1908
|
+
"visibility": "hidden"
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
},
|
|
1912
|
+
"@happyvertical/smrt-marketing:CampaignChannel": {
|
|
1913
|
+
"fields": {
|
|
1914
|
+
"campaignId": {
|
|
1915
|
+
"label": "Campaign",
|
|
1916
|
+
"order": 1
|
|
1917
|
+
},
|
|
1918
|
+
"channelKind": {
|
|
1919
|
+
"label": "Kind",
|
|
1920
|
+
"order": 2
|
|
1921
|
+
},
|
|
1922
|
+
"channelRef": {
|
|
1923
|
+
"label": "Name",
|
|
1924
|
+
"order": 3
|
|
1925
|
+
},
|
|
1926
|
+
"allocatedBudgetCents": {
|
|
1927
|
+
"label": "Budget share (cents)",
|
|
1928
|
+
"order": 4
|
|
1929
|
+
},
|
|
1930
|
+
"status": {
|
|
1931
|
+
"order": 5
|
|
1932
|
+
},
|
|
1933
|
+
"startAt": {
|
|
1934
|
+
"label": "Starts",
|
|
1935
|
+
"order": 6
|
|
1936
|
+
},
|
|
1937
|
+
"endAt": {
|
|
1938
|
+
"label": "Ends",
|
|
1939
|
+
"order": 7
|
|
1940
|
+
},
|
|
1941
|
+
"tenantId": {
|
|
1942
|
+
"visibility": "hidden"
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1945
|
+
},
|
|
1946
|
+
"@happyvertical/smrt-marketing:CampaignMetricSnapshot": {
|
|
1947
|
+
"fields": {
|
|
1948
|
+
"campaignId": {
|
|
1949
|
+
"label": "Campaign",
|
|
1950
|
+
"order": 1
|
|
1951
|
+
},
|
|
1952
|
+
"campaignChannelId": {
|
|
1953
|
+
"label": "Channel",
|
|
1954
|
+
"order": 2
|
|
1955
|
+
},
|
|
1956
|
+
"periodStart": {
|
|
1957
|
+
"label": "From",
|
|
1958
|
+
"order": 3
|
|
1959
|
+
},
|
|
1960
|
+
"periodEnd": {
|
|
1961
|
+
"label": "To",
|
|
1962
|
+
"order": 4
|
|
1963
|
+
},
|
|
1964
|
+
"spendCents": {
|
|
1965
|
+
"label": "Spend (cents)",
|
|
1966
|
+
"order": 5
|
|
1967
|
+
},
|
|
1968
|
+
"impressions": {
|
|
1969
|
+
"order": 6
|
|
1970
|
+
},
|
|
1971
|
+
"clicks": {
|
|
1972
|
+
"order": 7
|
|
1973
|
+
},
|
|
1974
|
+
"conversions": {
|
|
1975
|
+
"order": 8
|
|
1976
|
+
},
|
|
1977
|
+
"leads": {
|
|
1978
|
+
"order": 9
|
|
1979
|
+
},
|
|
1980
|
+
"revenueCents": {
|
|
1981
|
+
"label": "Revenue (cents)",
|
|
1982
|
+
"order": 10
|
|
1983
|
+
},
|
|
1984
|
+
"source": {
|
|
1985
|
+
"order": 11
|
|
1986
|
+
},
|
|
1987
|
+
"tenantId": {
|
|
1988
|
+
"visibility": "hidden"
|
|
1989
|
+
},
|
|
1990
|
+
"dedupeKey": {
|
|
1991
|
+
"visibility": "hidden"
|
|
1992
|
+
}
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
},
|
|
1996
|
+
"help": {
|
|
1997
|
+
"markdown": "## Overview\n\nCampaigns is where you plan a push to bring in customers: a sale, a launch, a\nseasonal promotion. Each campaign has a budget, start and end dates and a\nstatus that shows where it stands, from draft through active to completed. A\ncampaign runs on one or more channels, such as an ad group, a social post, an\nemail or an event, each with its share of the budget. Results come back from\nthe channels' reporting, period by period, so you can see what each campaign\nand channel brought in for what it cost.\n\n## Tasks\n\n### Plan a campaign\n\n1. Open the list of campaigns and choose **New**.\n2. Type the **{field:Campaign.name}**, for example \"Spring widget sale\".\n3. Say what it is for in **{field:Campaign.objective}**, such as awareness or new leads.\n4. Set when it **{field:Campaign.startAt}** and when it **{field:Campaign.endAt}**. The end cannot be before the start.\n5. Enter the **{field:Campaign.budgetCents}** as a whole number of cents, so $500 is 50000, and check the **{field:Campaign.currency}**.\n6. Save. A new campaign starts as a draft.\n\n### See where a campaign stands\n\n1. Open the list of campaigns.\n2. The **{field:Campaign.status}** shows whether each one is still a draft, scheduled, active, paused, completed or archived. It moves forward as the campaign is scheduled, run and wrapped up; you do not set it by hand.\n3. Open a campaign to change its name, dates or budget while it is still being planned.\n\n### Add a channel to a campaign\n\n1. Open the list of channels and choose **New**.\n2. Pick the **{field:CampaignChannel.campaignId}** it belongs to.\n3. Choose the **{field:CampaignChannel.channelKind}**, such as an ad group, a social post, a message, content or an event.\n4. Type the **{field:CampaignChannel.channelRef}** the channel goes by, so its results can be matched to it later.\n5. Enter its **{field:CampaignChannel.allocatedBudgetCents}** as a whole number of cents.\n6. If the channel runs on different dates from the campaign, set when it **{field:CampaignChannel.startAt}** and **{field:CampaignChannel.endAt}**.\n7. Save. You can edit a channel later, or remove one that will not run.\n\n### Read the results\n\nResults arrive from the channels' reporting; nobody types them in. Each one\ncovers a period for one campaign, or for one channel within it. A result is\nnever changed once it is in: a correction arrives as a new result for the same\nperiod.\n\n1. Open a campaign and look at its results, listed under the campaign.\n2. Each result names the **{field:CampaignMetricSnapshot.campaignId}** it belongs to. A result with no **{field:CampaignMetricSnapshot.campaignChannelId}** covers the whole campaign.\n3. Check the period, **{field:CampaignMetricSnapshot.periodStart}** to **{field:CampaignMetricSnapshot.periodEnd}**.\n4. Compare the **{field:CampaignMetricSnapshot.spendCents}** with the **{field:CampaignMetricSnapshot.clicks}**, **{field:CampaignMetricSnapshot.leads}** and **{field:CampaignMetricSnapshot.conversions}** it brought in, and the **{field:CampaignMetricSnapshot.revenueCents}** where the channel reports it.\n5. The **{field:CampaignMetricSnapshot.source}** says which channel's reporting sent the result.\n",
|
|
1998
|
+
"fieldRefs": [
|
|
1999
|
+
"Campaign.budgetCents",
|
|
2000
|
+
"Campaign.currency",
|
|
2001
|
+
"Campaign.endAt",
|
|
2002
|
+
"Campaign.name",
|
|
2003
|
+
"Campaign.objective",
|
|
2004
|
+
"Campaign.startAt",
|
|
2005
|
+
"Campaign.status",
|
|
2006
|
+
"CampaignChannel.allocatedBudgetCents",
|
|
2007
|
+
"CampaignChannel.campaignId",
|
|
2008
|
+
"CampaignChannel.channelKind",
|
|
2009
|
+
"CampaignChannel.channelRef",
|
|
2010
|
+
"CampaignChannel.endAt",
|
|
2011
|
+
"CampaignChannel.startAt",
|
|
2012
|
+
"CampaignMetricSnapshot.campaignChannelId",
|
|
2013
|
+
"CampaignMetricSnapshot.campaignId",
|
|
2014
|
+
"CampaignMetricSnapshot.clicks",
|
|
2015
|
+
"CampaignMetricSnapshot.conversions",
|
|
2016
|
+
"CampaignMetricSnapshot.leads",
|
|
2017
|
+
"CampaignMetricSnapshot.periodEnd",
|
|
2018
|
+
"CampaignMetricSnapshot.periodStart",
|
|
2019
|
+
"CampaignMetricSnapshot.revenueCents",
|
|
2020
|
+
"CampaignMetricSnapshot.source",
|
|
2021
|
+
"CampaignMetricSnapshot.spendCents"
|
|
2022
|
+
]
|
|
2023
|
+
},
|
|
2024
|
+
"demo": {
|
|
2025
|
+
"mode": "server",
|
|
2026
|
+
"reasons": [
|
|
2027
|
+
"Needs a server because its package depends on @happyvertical/smrt-tenancy, which do not build for a browser (#3624)."
|
|
2028
|
+
]
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
],
|
|
1741
2032
|
"smrtDependencies": [
|
|
1742
2033
|
"@happyvertical/smrt-commerce",
|
|
1743
2034
|
"@happyvertical/smrt-core",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Campaign.d.ts","sourceRoot":"","sources":["../../src/models/Campaign.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAElE,OAAO,EAGL,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAelC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAarB,qBAca,QAAS,SAAQ,UAAU;IAEtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,0EAA0E;
|
|
1
|
+
{"version":3,"file":"Campaign.d.ts","sourceRoot":"","sources":["../../src/models/Campaign.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAElE,OAAO,EAGL,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAelC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAarB,qBAca,QAAS,SAAQ,UAAU;IAEtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,0EAA0E;IAM1E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEjC,8DAA8D;IAM9D,WAAW,EAAE,MAAM,CAAM;IAGzB,IAAI,EAAE,MAAM,CAAM;IAElB,qEAAqE;IAKrE,SAAS,EAAE,MAAM,CAAM;IAMvB,MAAM,EAAE,cAAc,CAAW;IAGjC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAG5B,KAAK,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE1B,8CAA8C;IAI9C,WAAW,EAAE,MAAM,CAAK;IAExB,2DAA2D;IAI3D,QAAQ,EAAE,MAAM,CAAS;IAEzB,QAAQ,EAAE,MAAM,CAAQ;gBAEZ,OAAO,GAAE,eAAoB;IAmB1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YActB,aAAa;IA4C3B,2EAA2E;IAC3E,OAAO,CAAC,sBAAsB;IAsC9B,8EAA8E;IAC9E,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAaxC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAYtC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIpD,OAAO,CAAC,cAAc;YAaR,kBAAkB;IAyChC,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,MAAM,CAAC,UAAU;CAS1B;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CampaignChannel.d.ts","sourceRoot":"","sources":["../../src/models/CampaignChannel.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAqB,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAE/E,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAIrB,qBAQa,eAAgB,SAAQ,UAAU;IAE7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;
|
|
1
|
+
{"version":3,"file":"CampaignChannel.d.ts","sourceRoot":"","sources":["../../src/models/CampaignChannel.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EAAqB,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAE/E,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAIrB,qBAQa,eAAgB,SAAQ,UAAU;IAE7C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAI/B,UAAU,EAAE,MAAM,CAAM;IAExB,+EAA+E;IAM/E,WAAW,EAAE,MAAM,CAAM;IAEzB,+DAA+D;IAM/D,UAAU,EAAE,MAAM,CAAM;IAMxB,oBAAoB,EAAE,MAAM,CAAK;IAEjC,kEAAkE;IAIlE,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE5B,gEAAgE;IAIhE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAQ;IAM1B,MAAM,EAAE,qBAAqB,CAAa;gBAE9B,OAAO,GAAE,sBAA2B;IAgBjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBpC,OAAO,CAAC,MAAM,CAAC,UAAU;CAS1B;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CampaignMetricSnapshot.d.ts","sourceRoot":"","sources":["../../src/models/CampaignMetricSnapshot.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAqB,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAE/E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAMjE,qBAQa,sBAAuB,SAAQ,UAAU;IAEpD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;
|
|
1
|
+
{"version":3,"file":"CampaignMetricSnapshot.d.ts","sourceRoot":"","sources":["../../src/models/CampaignMetricSnapshot.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAqB,UAAU,EAAQ,MAAM,0BAA0B,CAAC;AAE/E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAMjE,qBAQa,sBAAuB,SAAQ,UAAU;IAEpD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAI/B,UAAU,EAAE,MAAM,CAAM;IAExB,kEAAkE;IAMlE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAMxC,WAAW,EAAE,IAAI,CAAc;IAM/B,SAAS,EAAE,IAAI,CAAc;IAG7B,UAAU,EAAE,MAAM,CAAK;IAGvB,WAAW,EAAE,MAAM,CAAK;IAGxB,MAAM,EAAE,MAAM,CAAK;IAKnB,WAAW,EAAE,MAAM,CAAK;IAGxB,KAAK,EAAE,MAAM,CAAK;IAOlB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEnC,sEAAsE;IAKtE,MAAM,EAAE,MAAM,CAAM;IAOpB,SAAS,EAAE,MAAM,CAAM;gBAEX,OAAO,GAAE,6BAAkC;IA2BxC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtC,OAAO,CAAC,aAAa;YAkCP,4BAA4B;IAa1C,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,MAAM,CAAC,UAAU;CAU1B;AAED,eAAe,sBAAsB,CAAC"}
|