The new page titles function apparently adds a “page title not defined” in the case there isn’t one. But for all older data (before the new function) you seem to get the URL instead of the title. This makes a big mess in my eyes. If I want to see the URLs I can go to the URLs table. I suggest to combine all the old visits that don’t have a page title and list them all under a label like “page title is not available” or so. This makes clear that these are not the same as “page title not defined”, but also doesn’t clumber the table with lots of URLs.
I’m probably missing something, but I don’t understand this explanation. I’m assuming that the page-title report is done at runtime? e.g. if there is no page title you pull in the page URL. So, it should be easy to know if you currently handle a page-title or a “fake page-title” (e.g. a URL or user-action) and if it is not a page-title collect it under “not available” or whatever so that there is only one row for it.
Do you make it different? Did you copy all the old URLs from the database table to the new page-URL field so the field is always filled in?