App script to copy all data from Workbook A to Workbook B, appending to first blank row not working correctly

I modified a script I found to copy data from the ‘Data’ tab of workbook A to the ‘LookerData’ tab of workbook B, but need it to add continuously to the ‘LookerData’ tab with no blank rows between). Now it’s adding it thousands rows below the first entry! (Data was 8000+ rows). It seemed to be working when testing with data that filled every cell, but fails with my actual data format which has random empty cells. Is there a way to get getLastRow to look only at Col A? Attaching some mock data to show format. Data will be a different size each month which is why I wasn’t specifying ranges.

The script also is adding thousands of rows causing the “you’ve hit your limit” error. This makes me think this is not the right approach when copying large data list like this? Assuming it must be creating very large arrays.

data format

`// https://stackoverflow.com/questions/48691872/google-apps-script-copy-data-to-different-worksheet-and-append
// Copies to Row 2 of target sheet the first time  and then appends to first blank row.

function CopyRange() {
 var sss = SpreadsheetApp.openById(’SpreadsheetA ID’); //replace with source ID
 var ss = sss.getSheetByName('Data'); //replace with source Sheet tab name
 var range = ss.getRange(2, 1, ss.getLastRow(), ss.getLastColumn()); //assign the range you want to copy
 var data = range.getValues();

// Logger.log(data);

 var tss = SpreadsheetApp.openById(‘SpreadsheetB ID’); //replace with destination ID
 var ts = tss.getSheetByName('LookerData'); //replace with destination Sheet tab name

 ts.getRange(ts.getLastRow()+1, 1,ss.getLastRow(), ss.getLastColumn()).setValues(data); 

}
`