Skip to content

Update Woopra Connection modes #3716

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .github/styles/Vocab/Docs/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ viewability
waitlist
walkthrough
WebKit
Woopra
Wootric
Xcode
Zendesk
8 changes: 0 additions & 8 deletions src/_data/catalog/destinations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43652,21 +43652,13 @@ items:
- id: 631a6f32946dd8197e9cab66
display_name: SendGrid Marketing Campaigns
name: SendGrid Marketing Campaigns
<<<<<<< HEAD
slug: sendgrid-marketing-campaigns
=======
slug: actions-sendgrid
>>>>>>> master
hidden: false
endpoints:
- us
regions:
- us
<<<<<<< HEAD
url: connections/destinations/catalog/sendgrid-marketing-campaigns
=======
url: connections/destinations/catalog/actions-sendgrid
>>>>>>> master
previous_names:
- Sendgrid Marketing Campaigns
- SendGrid Marketing Campaigns
Expand Down
11 changes: 11 additions & 0 deletions src/_data/catalog/overrides.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# This file is manually generated.
items:
- slug: woopra
id: 54521fdc25e721e32a72ef05
connection_modes:
device:
web: true
mobile: false
server: false
cloud:
web: false
mobile: true
server: true
- slug: moengage
id: 55b280290a20f4e22f0fb3d6
connection_modes:
Expand Down
3 changes: 0 additions & 3 deletions src/_data/catalog/regional-supported.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,6 @@ warehouses:
regions:
- us
- eu
<<<<<<< HEAD
=======
sources:
- id: 8HWbgPTt3k
display_name: .NET
Expand Down Expand Up @@ -4208,4 +4206,3 @@ destinations:
- eu
endpoints:
- us
>>>>>>> master
4 changes: 0 additions & 4 deletions src/_data/catalog/sources.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1220,11 +1220,7 @@ items:
isCloudEventSource: true
slug: regal-io
url: connections/sources/catalog/cloud-apps/regal-io
<<<<<<< HEAD
hidden: false
=======
hidden: true
>>>>>>> master
regions:
- us
endpoints:
Expand Down
27 changes: 14 additions & 13 deletions src/connections/destinations/catalog/woopra/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
---
title: Woopra Destination
id: 54521fdc25e721e32a72ef05
cmode-override: true
---
Our Woopra destination code is all open-source on GitHub if you want to check it out: [Javascript](https://github.com/segment-integrations/analytics.js-integration-woopra), [Server](https://github.com/segmentio/integration-woopra).
Segment's Woopra destination code is open-source on GitHub:
- [Javascript](https://github.com/segmentio/analytics.js-integrations/tree/master/integrations/woopra){:target="_blank"}

## Getting Started

Expand All @@ -11,26 +13,25 @@ When you enable Woopra in the Segment web app, your changes appear in the Segmen

Woopra is supported on client-side and server-side.

- - -

## Page

When you call `.page()` in the browser, we will pass all the properties of the page such as `url`, `referrer`, `path`, and etc. If you pass a `name` in your `.page()` call, we will send that as `title` to Woopra.
When you call `.page()` in the browser, Segment passes the properties of the page such as `url`, `referrer`, `path`, and etc. If you pass a `name` in your `.page()` call, Segment sends that as `title` to Woopra.

*Note*: `.page()` calls are not supported when sending those events server side or using mobile libraries.
> info ""
> `.page()` calls are not supported when sending those events server side or using mobile libraries.


## Identify


### Client Side

When you call `identify` on analytics.js, we call Woopra's `woopraTracker.addVisitorProperty` for each trait that you pass in. These traits are stored in the Woopra cookie, and will be sent on the next page load.
When you call `identify` on analytics.js, Segment calls Woopra's `woopraTracker.addVisitorProperty` for each trait that you pass in. These traits are stored in the Woopra cookie, and will be sent on the next page load.


### Server Side

When you call `identify` from the server-side languages, we call Woopra's [HTTP REST API](https://docs.woopra.com/reference/intro-http-tracking) with the traits that you pass in.
When you call `identify` from the server-side languages, Segment calls Woopra's [HTTP REST API](https://docs.woopra.com/reference/intro-http-tracking){:target="_blank"} with the traits that you pass in.


## Group
Expand All @@ -43,20 +44,20 @@ Woopra does not accept data sent using the Segment `group` method.

### Client Side

When you call `track` on analytics.js, we call Woopra's `woopraTracker.pushEvent` with the a single `settings` object where the `event` parameter you pass is set as `settings.name` for the Woopra event.
When you call `track` on analytics.js, Segment calls Woopra's `woopraTracker.pushEvent` with the a single `settings` object where the `event` parameter you pass is set as `settings.name` for the Woopra event.


### Server Side

When you call `track` from the server-side languages, we call Woopra's HTTP REST API with the event properties that you pass in.
When you call `track` from the server-side languages, Segment calls Woopra's HTTP REST API with the event properties that you pass in.

The default Woopra `online` [timeout](https://docs.woopra.com/reference/intro-http-tracking) is set to 60 seconds, but is adjustable with `context.Woopra.timeout`.
The default Woopra `online` [timeout](https://docs.woopra.com/reference/intro-http-tracking){:target="_blank"} is set to 60 seconds, but is adjustable with `context.Woopra.timeout`.

## Features

### Tying server side events to client side sessions

If you want your server side events to be seen as part of the same "source" or session as your client side events, all you have to do is pass us the `wooTracker` value inside your cookie. Luckily, you can easily retrieve this value by:
If you want your server side events to be seen as part of the same "source" or session as your client side events, all you have to do is pass the `wooTracker` value inside your cookie. Luckily, you can easily retrieve this value by:

```js
analytics.ready(function(){
Expand All @@ -66,7 +67,7 @@ analytics.ready(function(){
});
```

Now from the server side, you can attach it to the `integrations.Woopra.cookie` property:
For server-side integrations, you can attach it to the `integrations.Woopra.cookie` property:

(Ruby example)

Expand All @@ -88,7 +89,7 @@ This should let Woopra know that this server side event is part of the same sess

### Split user profiles

If you are seeing split user profiles, the most likely culprit is that you are calling `.identify()` only on the backend using one of our server side libraries but **NOT** on the client side with `analytics.js`.
If you are seeing split user profiles, the most likely culprit is that you are calling `.identify()` only on the backend using one of Segment's server side libraries but **NOT** on the client side with `analytics.js`.

Calling `.identify()` in the browser will effectively map the `userId` you passed in with the `wooTracker` cookie value. So in the event that you call `.identify()` on the server side first, you **MUST** call `.identify()` on the client side as well to tie the `wooTracker` cookie to that `userId`.

Expand Down