Best Practices for Event Calls
To choose the right Segment call for each event, consider the type of data you collect and how downstream tools handle it. You could build a full implementation using only Track events, but this is a bad idea. This page explains what to consider when deciding which call to use.
Segment strongly encourages you to follow the Spec for clarity and simplicity's sake, however you are also given the flexibility to make only the calls that fit your needs.
Segment recommends that you follow the Spec, which gives general guidance about which methods to use when. You might read about "semantic spec", which simply means Page calls should be about the page you're viewing, and Track calls should be about events or activities you want to track.
The Spec outlines the specific data you should collect with each type of call. Each call type represents and is intended to collect specific information about a user or their activities. This means that your choice of method can imply things about the data you intend to collect.
For example, the properties for Page and Screen calls are intended to describe the page, not the user or their actions. Similarly, the data automatically included in a Page in particularly is important for UTM campaign capture.
Using the semantic methods reduces the amount of data you have to include in each call. If you build a Segment implementation using only Track events, you must include page-related data in every Track call, adding all of the information that Page calls collect automatically as manual event properties. This gets unwieldy fast.
It's better to pair a Page and a Track call together (making one of each call), especially if you have a complex tracking implementation. When you use the semantic methods you reduce the amount of information and other properties required in a single call.
The Track call, and Page or Screen calls are handled very differently by your downstream tools, and how you can use that data is different. When you use the Spec, Segment uses the call type to help translate the data into destination's tracking format. This ensures the highest level of compatibility with the end tools.
Some destinations were built around a specific call type and Segment maps to those specific methods. Some downstream tools do not accept Page and Screen calls at all. Many of the destinations that do accept these calls, also expect a limited range of data in a Page call, and may not properly receive or handle data that would be expected in Track calls.
To help you with this, the Segment documentation includes a list of all of the supported destinations and the calls they accept.
Finally, when you use the different methods correctly, it can help you separate out "types" of information in your downstream tools and warehouses, so you can use them for different purposes.