Solved

Segmentation not filtering profile

  • 22 July 2021
  • 3 replies
  • 42 views

Badge

Hi All,

I’m new to Kalviyo and exploring things, the lists and segmentation is very easy to understand.

I sent a fulfilled order details via http request and it appears in the profile, so im creating a segmentation to filter the customers by the product purchased.

JSON sent and successfully showing inside profile as below:
 

{
"token": "MY_PUBLIC_API_KEY",
"event": "Fulfilled Order",
"customer_properties": {
"$email": "vijay@email.com",
"$name": "Vijay"
},
"properties": {
"$event_id": "15637",
"$value": 225.00,
"OrderId": "6334231",
"ItemNames": ["Product 1", "Product 2", "Product 3"],
"Items": [{
"ProductID": "92",
"SKU": "Product1",
"ProductName": "Product 1",
"Quantity": 1,
"ItemPrice": 59,
"RowTotal": 59
},
{
"ProductID": "93",
"SKU": "Product2",
"ProductName": "Product 2",
"Quantity": 3,
"ItemPrice": 39,
"RowTotal": 117
},
{
"ProductID": "94",
"SKU": "Product3",
"ProductName": "Product 3",
"Quantity": 1,
"ItemPrice": 49,
"RowTotal": 49
}
]
}
}

Now im trying to create a segmentation which contains product id : 93.

Attached is the screenshot of the segmentation and the data in profile which is not showing the user. 

Kindly let me know what i’m missing.

 

icon

Best answer by retention 22 July 2021, 19:04

@Vijay - AFAIK, the Segmentation rules can only reference “Top Level” values, and not in nested objects.  So if the ProductID is important to you, I would put that at the Top Level like you did with “ItemNames.” 

Perhaps add another Property like ProductIDs like this:

{
"token": "MY_PUBLIC_API_KEY",
"event": "Fulfilled Order",
"customer_properties": {
"$email": "vijay@email.com",
"$name": "Vijay"
},
"properties": {
"$event_id": "15637",
"$value": 225.00,
"OrderId": "6334231",
"ItemNames": ["Product 1", "Product 2", "Product 3"],
"ProductIds": [92, 93, 95],
"Items": [{
"ProductID": "92",
"SKU": "Product1",
"ProductName": "Product 1",
"Quantity": 1,
"ItemPrice": 59,
"RowTotal": 59
},
{
"ProductID": "93",
"SKU": "Product2",
"ProductName": "Product 2",
"Quantity": 3,
"ItemPrice": 39,
"RowTotal": 117
},
{
"ProductID": "94",
"SKU": "Product3",
"ProductName": "Product 3",
"Quantity": 1,
"ItemPrice": 49,
"RowTotal": 49
}
]
}
}

Let us know if it worked!

View original

3 replies

Userlevel 7
Badge +5

@Vijay - AFAIK, the Segmentation rules can only reference “Top Level” values, and not in nested objects.  So if the ProductID is important to you, I would put that at the Top Level like you did with “ItemNames.” 

Perhaps add another Property like ProductIDs like this:

{
"token": "MY_PUBLIC_API_KEY",
"event": "Fulfilled Order",
"customer_properties": {
"$email": "vijay@email.com",
"$name": "Vijay"
},
"properties": {
"$event_id": "15637",
"$value": 225.00,
"OrderId": "6334231",
"ItemNames": ["Product 1", "Product 2", "Product 3"],
"ProductIds": [92, 93, 95],
"Items": [{
"ProductID": "92",
"SKU": "Product1",
"ProductName": "Product 1",
"Quantity": 1,
"ItemPrice": 59,
"RowTotal": 59
},
{
"ProductID": "93",
"SKU": "Product2",
"ProductName": "Product 2",
"Quantity": 3,
"ItemPrice": 39,
"RowTotal": 117
},
{
"ProductID": "94",
"SKU": "Product3",
"ProductName": "Product 3",
"Quantity": 1,
"ItemPrice": 49,
"RowTotal": 49
}
]
}
}

Let us know if it worked!

Badge

Yes, it worked! 

Thankyou for helping me out. 

 

And one more thing, i see an section for ‘Ordered Product’ however there is no section mentioning how to make that into an ‘Refunded Order’. How to flag items inside an Order with more than one product as Refunded. Should i post this as a separate question?

Userlevel 6
Badge +4

Hello @Vijay,

I would suggest taking a look at the Guide to Integrating a Standard Ecommerce Platform Help Center article; specifically the Server-Side Metrics subsection which does offer an example snippet of a refund order event. 

I’ve also included other resources that may be helpful to you regarding this same subject below:

Other Members have also found the following Community Post helpful and were able to help solve their issues too:

I hope this helps!

David

Reply