Hi Serge!
Let me see if I understood correctly:
Let's say I have a pageview event in globoesporte.com/
The clean way of keeping track of this is by making a profile property
(with a rule and action) as a count, so it increments as the user keeps
firing this pageview event. So I would have a profile property for each
page he visited (globoesporte.com/futebol, globoesporte.com/futebol/flamengo).
Is this correct? Wouldn't this bloat our profile?
I could organize the profile property as:
"pageviews": {
  "globoesporte.com/" : 1,
  "globoesporte.com/futebol" : 3,
  "globoesporte.com/futebol/flamengo" : 10
}

so I wouldn't make it that much bloated, if you have a better approach i
would love to hear about it.

Now about the decay of information: should I be worried about that number
never leaving the profile? I mean, it could be that after a few months "
globoesporte.com/futebol/flamengo" wouldn't be that relevant for this user
but i'm still segmenting him as a "flamengo fan". Everything related to
profiles would be "decayed" as set in Unomi (90 days i believe), right?


Thank you so much for your patience and answers, you're helping us a lot!

2018-06-06 12:11 GMT-03:00 Serge Huber <[email protected]>:

> Hello Diogo,
>
> Segment conditions (mostly) operate on profile and session properties. So
> you have basically the following options:
> - add a rule and a custom action to copy the event properties you need to
> the profile properties and then you can simply build a segment that has
> condition on the "new" profile properties. It is also possible to use
> scripting to avoid having to develop a custom action (see example below).
> - use a PastEventCondition to build a condition that matches if profiles
> have received such a condition in the past
>
> The most scalable and performant solution is the first one, but it requires
> a little more work since you need to provide a rule and an potential action
> implementation. The second solution can be done with out of the box
> components but it can have performance issues if you don't properly limit
> the condition in time and size.
>
> Here is an example of using a rule
>
> {
>   "metadata": {
>     "id": "incrementPageViewCount",
>     "name": "Increment page view count",
>     "description": ""
>   },
>   "raiseEventOnlyOnceForSession": false,
>   "condition": {
>     "parameterValues": {
>       "subConditions": [
>         {
>           "type": "pageViewEventCondition",
>           "parameterValues": {}
>         },
>         {
>           "type": "eventPropertyCondition",
>           "parameterValues": {
>             "propertyName": "scope",
>             "comparisonOperator": "exists"
>           }
>         }
>       ],
>       "operator": "and"
>     },
>     "type": "booleanCondition"
>   },
>   "actions": [
>     {
>       "parameterValues": {
>         "setPropertyName": "properties.pageViewCount",
>         "setPropertyValue": "script::r =
> profile.properties['pageViewCount']; if (r == null) {
> profile.properties['pageViewCount'] = [];
> profile.properties.pageViewCount = [event.scope : 1] } else { if
> (r[event.scope] != null) { r[event.scope] = r[event.scope] + 1 } else
> { r[event.scope] = 1 }} r",
>         "storeInSession": false
>       },
>       "type": "setPropertyAction"
>     }
>   ]
> }
>
> Here's an example of using a PastEventCondition in a segment:
>
> {
>   "itemId": "pastEventConditionExample",
>   "itemType": "segment",
>   "version": 1,
>   "condition": {
>     "parameterValues": {
>       "numberOfDays": 30,
>       "eventCondition": {
>         "parameterValues": {
>           "pagePath": "/sites/digitall/home/investors"
>         },
>         "type": "pageViewEventCondition"
>       },
>       "minimumEventCount": 1,
>       "maximumEventCount": 6,
>       "generatedPropertyKey": "pastEventConditionExampleProperty"
>     },
>     "type": "pastEventCondition"
>   },
>   "metadata": {
>     "id": "pastEventConditionExample",
>     "name": "Past event condition example",
>     "description": null,
>     "scope": "digitall",
>     "tags": [],
>     "systemTags": [],
>     "enabled": true,
>     "missingPlugins": false,
>     "hidden": false,
>     "readOnly": false
>   }
> }
>
> I hope this will help.
>
> Best regards,
>   Serge...
>
>
> Serge Huber
> CTO & Co-Founder
> T +41 22 361 3424
> 9 route des Jeunes | 1227 Acacias | Switzerland
> jahia.com <http://www.jahia.com/>
> SKYPE | LINKEDIN <https://www.linkedin.com/in/sergehuber> | TWITTER
> <https://twitter.com/sergehuber> | VCARD
> <http://www.jahia.com/vcard/HuberSerge.vcf>
>
>
> > JOIN OUR COMMUNITY <http://www.jahia.com/> to evaluate, get trained and
> to discover why Jahia is a leading User Experience Platform (UXP) for
> Digital Transformation.
>
> On Wed, Jun 6, 2018 at 12:19 AM, Diogo Munaro Vieira <
> [email protected]> wrote:
>
> > Hey guys,
> >
> > I'm sending events for Unomi and it's working pretty well! But I don't
> know
> > how can I build segments with these event's properties. Here an example
> of
> > a event:
> >
> > {
> > "source": {
> > "itemId": "webpage",
> > "scope": "systemscope",
> > "itemType": "page"
> > },
> > "events": [{
> > "eventType": "pageview",
> > "source": {
> > "itemId": "my page",
> > "scope": "systemscope",
> > "itemType": "page"
> > },
> > "scope": "systemscope",
> > "target": {
> > "itemId": "http://www.globo.com/";,
> > "scope": "systemscope",
> > "itemType": "page",
> > "properties": {
> > "referrer": "https%3A%2F%2Fwww.globo.com%2F",
> > "timestamp": "1528222422907",
> > "object": "http://www.globo.com/";,
> > "host": "177.200.196.180",
> > }
> > }
> > }]
> > }
> >
> >
> > I'm trying to create segments using this curl and getting
> > NullPointerException even at karaf log:
> >
> > curl -iv -u karaf:karaf -H 'Content-Type: application/json' --insecure
> > https://localhost:9443/cxs/segments -X POST -d '{"metadata": {"id":
> > "globo","name": "Globocom","scope": "systemscope","description": "All
> home
> > users.","readOnly": true},"condition": {
> >                     "parameterValues": {
> >                         "propertyName": "target.properties.object",
> >                         "comparisonOperator": "equals",
> >                         "propertyValue": "http://www.globo.com/";
> >                     },
> >                     "type": "eventPropertyCondition"
> >                 }}'
> >
> > What am I doing wrong?
> >
> > Thank your for your attention,
> > --
> > Diogo Munaro Vieira
> >
>



-- 
Gabriel Cardoso
Ramal 6584 - (21) 96601-4664
Profiling@BigData

Reply via email to