Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
942dd0e
Adding Moloco MCM destination doc (Beta)
samir-moloco Apr 16, 2024
95eb4e1
Merge branch 'segmentio:develop' into develop
samir-moloco Apr 16, 2024
9465c6d
Updated the path of the destination doc to align with the path used b…
samir-moloco Apr 17, 2024
c3fc5cc
Merge branch 'segmentio:develop' into develop
samir-moloco Apr 17, 2024
478ac13
Merge branch 'develop' of https://github.com/samir-moloco/segment-doc…
samir-moloco Apr 17, 2024
7f034cb
[netlify-build]
samir-moloco Apr 17, 2024
602590e
Merge branch 'segmentio:develop' into develop
samir-moloco Apr 19, 2024
56ef8f8
Removed the screenshots in the doc.
samir-moloco Apr 19, 2024
3d50d01
Merge branches 'develop' and 'develop' of https://github.com/samir-mo…
samir-moloco Apr 19, 2024
f9f4116
Removed the mapping screenshot.
samir-moloco Apr 19, 2024
0e37289
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
2af69de
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
e07120e
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
bdb45b2
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
7f7ae9b
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
65915f0
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
e8f908e
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
8a8f893
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
a1efff6
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
3375563
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
3e911b0
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
0e39bcc
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
b0e6809
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
32c3ade
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
f54e01c
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
5c45c97
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
f272af4
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
3221b2b
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
84a9989
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
109ca30
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
b546443
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
36c2484
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 21, 2024
2bde1ff
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 22, 2024
7ced80e
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 22, 2024
541e4ce
Note about integration being outdated
spencerattick Apr 24, 2024
2f4f80e
update grammar
cmastr Apr 24, 2024
5bab9fe
taking broken link out as it's trying to link to the same topic.
cmastr Apr 24, 2024
90f7a88
Update src/connections/destinations/catalog/moloco-rmp/index.md
samir-moloco Apr 25, 2024
c06a1af
Changed documentation path to actions-moloco-rmp
samir-moloco Apr 25, 2024
e53b64a
Merge branch 'develop' of https://github.com/samir-moloco/segment-doc…
samir-moloco Apr 25, 2024
cef43b3
Merge pull request #6399 from samir-moloco/develop
forstisabella Apr 25, 2024
9d9a2a4
running today's catalog
cmastr Apr 25, 2024
69080dc
Merge pull request #6441 from segmentio/privacy_controls_fix
cmastr Apr 25, 2024
c52f6bf
Merge pull request #6443 from segmentio/cat_04_25_24
cmastr Apr 25, 2024
1661d54
Merge pull request #6438 from segmentio/spencerattick-patch-7
cmastr Apr 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/_data/catalog/destination_categories.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
# destination categories last updated 2024-04-23
# destination categories last updated 2024-04-25
items:
- display_name: A/B Testing
slug: a-b-testing
Expand Down
4 changes: 2 additions & 2 deletions src/_data/catalog/destinations.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
# destination data last updated 2024-04-23
# destination data last updated 2024-04-25
items:
- id: 637e8d185e2dec264895ea89
display_name: 1Flow
Expand Down Expand Up @@ -81623,7 +81623,7 @@ items:
mobile: false
server: false
warehouse: true
cloudAppObject: false
cloudAppObject: true
components: []
browserUnbundlingSupported: false
browserUnbundlingPublic: false
Expand Down
2 changes: 1 addition & 1 deletion src/_data/catalog/destinations_private.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
# destination data last updated 2024-04-23
# destination data last updated 2024-04-25
items:
- id: 54521fd925e721e32a72eee1
display_name: Pardot
Expand Down
2 changes: 1 addition & 1 deletion src/_data/catalog/source_categories.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
# source categories last updated 2024-04-23
# source categories last updated 2024-04-25
items:
- display_name: A/B Testing
slug: a-b-testing
Expand Down
2 changes: 1 addition & 1 deletion src/_data/catalog/sources.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
# sources last updated 2024-04-23
# sources last updated 2024-04-25
items:
- id: 8HWbgPTt3k
display_name: .NET
Expand Down
144 changes: 144 additions & 0 deletions src/connections/destinations/catalog/actions-moloco-rmp/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
---
title: Moloco Commerce Media Destination
id: 65f05e455b125cddd886b793
beta: true
private: true
---

[Moloco Commerce Media](https://www.moloco.com/products/moloco-retail-media-platform){:target="_blank”} (MCM) is a technology solution that empowers marketplaces and online retailers to build and scale a retail media business (for example, sponsored ads). Moloco’s solution helps platforms leverage and activate their first-party data to deliver highly relevant and performant ads, automate ad decision-making, and scale their ads business.

The Moloco Commerce Media destination can send user events collected using the Segment SDK to Moloco’s platform for a simplified performance ads integration.

This allows you to run performance advertising without having to build your own backend system to ingest and send user events data in realtime to Moloco.

## Getting started

### Prerequisites
Before you configure the Moloco Commerce Media destination, add a source to Segment and use the [Source Debugger](/docs/connections/sources/debugger/) to verify Segment is receiving events.

Before you configure the Moloco Commerce Media destination, reach out to your Moloco representative about the following account information:
- Moloco Platform ID
- Moloco Event Service API key

After you obtain that account information, you can move on to the Segment app.

### Set up your Moloco destination
1. From the Segment web console, click **Catalog**.
2. On the Catalog page, search for “Moloco”, select it, and click **Add destination**.
3. Choose which of your sources to connect the destination to.
4. In the Moloco MCM destination settings page, fill the Platform ID and API key fields with your Moloco Platform ID and Event Service API key.
5. Select “APP" if your source endpoint is a mobile app, and "SITE" if it is a website.

## Identify

Moloco strongly recommends that you identify your logged-in users using Segment's [Identify method](/docs/connections/spec/identify/) and that you hash the user ID before sending it to Moloco.

Please find an example Identify call below:

```js
analytics.identify('361b1fdfbeaa9d64a13c033eb9f970dc6740f6bc', {
email: 'john.doe@example.com'
});
```

Once a user is identified, each call to Segment's [Track method](/docs/connections/spec/track/) automatically records the user ID.
Users that are not logged in can be tracked using an [anonymousID](/docs/connections/spec/identify/#anonymous-id). Moloco Commerce Media does not use anonymousIDs for users that are not logged in. Segment recommends formatting your anonymousID in UUID format.

> info" "
> If you hash the user ID before sending it to Moloco, ensure you reuse the same hashed ID when calling other Moloco APIs.


## Track

If you’re not familiar with the Segment Spec, take a look to understand what the [Track method](/docs/connections/spec/track/) does. The mappings in the Moloco Commerce Media destination are built based on the Segment [Ecommerce Spec](/docs/connections/spec/ecommerce/v2/).

Please find below an example call to track a product detail page (PDP) view event:

```js
analytics.track("Product Viewed", {
product_id: "1193",
name: "Newage Uplift Eye Care Cream",
price: 19.99
currency: "USD"
quantity: 1,
image_url: "https://www.example.com/image.png"
});
```

## Page

If you’re not familiar with the Segment Spec, take a look to understand what the [Page method](/docs/connections/spec/page/) does.

Please find below an example call to page:

```js
analytics.page();
```

If you use Segment’s Web SDK, this call automatically collects the page information. Here’s an example of page information automatically collected using Segment’s Web SDK.

```js
"page": {
"path": "/account",
"referrer": "",
"search": "",
"title": "Your Account",
"url": "https://www.example.com/account"
},
```

However for iOS and Android, it won’t collect page information.

Moloco Commercial Media requires the [page_id](https://mcm-docs.moloco.com/docs/51-user-event-data-specifications#page_view-event-type){:target="_blank”} attribute for a PAGE_VIEW event. Using the Web SDK, the page_id can be associated with the path attribute. However for iOS/Android, Moloco Commercial Media recommends using the Page Identifier Token field.

The Page Identifier Token field accepts key:value pairs of strings that can identify the page.
Stringification Logic is: {key}:{value}s concatenated by ";"

Moloco Commercial Media ignores the Page Identifier Token if page_id is passed, as page_id has a higher priority.

Here’s an example of a Page Identifier Token that could be tracked in a mobile app.

Say the input had the following schema:

```js
...
"event": "Product List Viewed",
"vertical": "fruit"
...
```

and user chose the following mapping:

```js
// "event" represents the name of the event
event: properties.event
// "vertical" represents which vertical the event happened on
vertical: properties.vertical

// The combination of those two tokens can repsent
// "Which action happened on which vertical"
```

The tokens are stringified into the following:

```js
"event:Product List Viewed;vertical:fruit"
```

The tokens are stringified in the format of the above example because they are key-value pairs concatenated by a semicolon (;).

> info " "
> if you decide to use the Page Identifier Token in your mobile app, reuse the same Page Identifier Token in place of page_id when calling Moloco’s APIs.

## Mappings

In the Mappings tab, some fields are chosen by default if some common fields map to Moloco Event’s fields. If the mapped key does not exist in the input data, it won’t trigger an error. Instead, the mapping will not pass any value.

If you are using **the default fields in a custom way**, please confirm that your mapping meets Moloco's requirements.

Default Mappings are not hard rules. They can be modified to your convenience.

{% include components/actions-fields.html %}
## Monitoring

Once the mappings are configured correctly, you can verify the flow of events from your source to Moloco’s destination in the [Delivery Overview](/docs/connections/delivery-overview/) tab of your Moloco destination. If you correctly configured your destination, you should see a growing **Successful delivery** count.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ rewrite: true
strat: facebook
id: 56fc7e4680412f644ff12fb9
---

> warning ""
> For new implementations, [Facebook no longer recommends using App Events]([url](https://developers.facebook.com/docs/marketing-api/app-event-api/)). Instead, they suggest switching to [Facebook Conversions API (Actions)](https://segment.com/docs/connections/destinations/catalog/actions-facebook-conversions-api/) for all server-side data tracking needs.

[Facebook App Events](https://developers.facebook.com/docs/app-events){:target="_blank"} collects required information from one of Segment's mobile SDKs ([iOS](/docs/connections/sources/catalog/libraries/mobile/ios/){:target="_blank"}, [Android](/docs/connections/sources/catalog/libraries/mobile/android/){:target="_blank"}, or [Swift](/docs/connections/sources/catalog/libraries/mobile/apple/){:target="_blank"}) and sends it from Segment's servers to Facebook App Events servers.

The iOS device-mode connection for the Facebook App Events destination is open source and [available on GitHub](https://github.com/segment-integrations/analytics-ios-integration-facebook-app-events){:target="_blank"}.
Expand All @@ -30,7 +34,7 @@ This page is about the **Facebook App Events**. For documentation on other Faceb
1. From the Segment web app, click **Catalog**.
2. Search for "Facebook App Events" in the Catalog, select it, and choose which of your sources to connect the destination to.
3. In the destination settings, enter your Facebook App ID which can be retrieved from your [Facebook Apps dashboard](https://developers.facebook.com/apps/){:target="_blank"}.
4. Once you turn on the Facebook App Events integration in your app's Segment project, we'll start sending `track` data to Facebook's App Events endpoints.
4. After you turn on the Facebook App Events integration in your app's Segment project, we'll start sending `track` data to Facebook's App Events endpoints.

## Screen

Expand All @@ -43,9 +47,9 @@ If you're not familiar with the Segment Specs, take a look to understand what th

Our integration also supports using Segment `screen` events as `track` events. For example, if you had a `screen` event named `Confirmation` you could map the invocation of this to a Facebook app event as you would with Segment `track` events.

To use this functionality you must opt into it using the integration setting named **Use Screen Events as Track Events**. Once enabled, you should start seeing `screen` events populate in Facebook App Events. The screen name you provide will be bookended with the words **Viewed** and **Screen**. So, if you have a `screen` event with the name property set to `Welcome`, it will show up in Facebook as an event called **Viewed Welcome Screen**.
To use this functionality you must opt into it using the integration setting named **Use Screen Events as Track Events**. After enabling, you should start seeing `screen` events populate in Facebook App Events. The screen name you provide will be bookended with the words **Viewed** and **Screen**. So, if you have a `screen` event with the name property set to `Welcome`, it will show up in Facebook as an event called **Viewed Welcome Screen**.

Note, the integration will not automatically translate `screen` events to spec'd Facebook events as our `track` method does. If you would like to map these events to specific Facebook events you can do this using the **Map your events to Standard FB App Events** setting. Be sure to specify the event as **Viewed** `name` **Screen** where `name` is the name property of the `screen` event.
Note: the integration will not automatically translate `screen` events to spec'd Facebook events as our `track` method does. If you would like to map these events to specific Facebook events you can do this using the **Map your events to Standard FB App Events** setting. Be sure to specify the event as **Viewed** `name` **Screen** where `name` is the name property of the `screen` event.

## Track

Expand Down Expand Up @@ -246,7 +250,7 @@ You will have to be sure that the [IDFA](/docs/connections/sources/catalog/libra

Similarly, on Android, you'll need to include the Play Services Ads library as [mentioned here](/docs/connections/sources/catalog/libraries/mobile/android/#how-do-you-handle-unique-identifiers-) in order for the `advertisingId` to populate.

Once you've added these, you will start to see the `context.device.advertisingId` populate and the `context.device.adTrackingEnabled` flag set to `true` unless the user has ad tracking limited or is using a mobile ad blocker.
After you've added these, you will start to see the `context.device.advertisingId` populate and the `context.device.adTrackingEnabled` flag set to `true` unless the user has ad tracking limited or is using a mobile ad blocker.


Facebook requires that payloads include the following:
Expand Down
2 changes: 1 addition & 1 deletion src/privacy/data-controls.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ blocked if you enable these controls.

If you block Segment data at the source level using these controls, the data
does not enter Segment and we can not Replay it. Additionally, if you have
[Privacy Controls](#privacy-controls) configured to change how you route Red and
Privacy Controls configured to change how you route Red and
Yellow data into or out of Segment, the standard controls respect the rules set
by those Controls. For example, if you have a Privacy Control set up to block
**Red** data at the Source-level, any new fields you classify in the Data Inventory as
Expand Down