Heartbeats product_ids not clear

What is specifying product_ids in heartbeats channel subscription actually good for? Heartbeats message does not contain any information what product_id does it belong to.

// Heartbeats Message
{
  "channel": "heartbeats",
  "client_id": "",
  "timestamp": "2023-06-23T20:31:26.122969572Z",
  "sequence_num": 0,
  "events": [
    {
      "current_time": "2023-06-23 20:31:56.121961769 +0000 UTC m=+91717.525857105",
      "heartbeat_counter": "3049",
    }
  ]
}

Does it even matter what product_ids do I specify when subscribing to heartbeats? What difference does it make?

Hi @DDD! Thank you for being a part of the forum community!
The “product_ids” parameter in the heartbeats channel subscription is used to filter the heartbeats based on the specified product IDs. By specifying the product IDs in the heartbeats subscription, you can receive only the heartbeats that are related to the specified products. This can be useful in scenarios where you want to monitor and process only specific products’ heartbeats, rather than all heartbeats.

While the heartbeats message itself does not contain the product ID, specifying the product IDs in the subscription allows you to correlate the heartbeats with the appropriate products. This helps you manage and process the heartbeats more efficiently and effectively.

We hope this helps.
Do let us know in case you have any more questions or concerns.

I am still confused. Let’s say I use single websocket connection to subscribe to orderbooks for BTC-USD and ETH-USD. So I am also supposed to subscribe to heartbeats for these two product ids also on the same connection as the orderboks, correct?

But no matter what product ids I subscribe to heartbeats for, I am always receiving heartbeat message every second. And the messages do not contain any information of product id. So what is specifying product ids when subscribing for heartbeats good for?

Also when I compare how hearbeats looked in old Coinbase Pro api, subscribe messages contained product ids and heartbeat messages also contained product ids:

{
  "type": "heartbeat",
  "sequence": 90,
  "last_trade_id": 20,
  "product_id": "BTC-USD",
  "time": "2014-11-07T08:19:28.464459Z"
}

So why do heartbeat messages do not contain product id anymore in Advanced Trade api?

Man, :rofl: it’s rofl.
They use force to people go to new API with a lot of bugs :pensive: